Развертывание проекта через удаленный репозиторий позволяет гибко управлять каждым его элементом. Исправления ошибок, обновления функций, удаление файлов, совместная работа, участие в программах с открытым исходным кодом, развертывание кода и многое другое теперь у вас под рукой благодаря глубокому знанию Git.
Итак, вы использовали Git, но хотите узнать больше? Вот еще несколько дополнительных советов по Git, которые упростят управление версиями вашего проекта.
Git Branch
Ветка Git не позволяет вам перейти непосредственно к главной ветке. Это полезно, если вы управляете проектом с командой разработчиков. Вы можете создать столько веток Git, сколько захотите, а затем объединить их в основную ветку позже.
Создать ветку Git
Чтобы создать ветку Git, используйте:
git branch branch_name
Переключиться на ветку Git
Использовать проверить чтобы переключиться на ветку Git:
git checkout branch_name
После переключения на ветку вы можете выполнить свои изменения, используя git add --all . Затем зафиксируйте их, используя git commit -m 'имя фиксации' команда.
Сравните ветку с мастером
Использовать git diff команда:
git diff master..branch_name
Чтобы сравнить определенные файлы:
git diff master..testb -- main.html
Сравнение двух веток аналогично тому, как вы сравниваете ветку с главной:
git diff branch1..branch2
Чтобы увидеть различия в конкретном файле между двумя ветвями:
git diff branch1..branch2 -- main.html
Отправка изменений в удаленную ветку
Возможно, вы захотите, чтобы другой разработчик посмотрел на изменения, которые вы внесли в файл в своей локальной ветке, перед тем, как опубликовать их вживую. Хорошая практика - перенести вашу локальную ветку Git на удаленную реплику, чтобы они могли посмотреть.
Предположим, что вы ранее создали локальную ветку с именем изменения . Вы можете переключиться на эту локальную ветвь, настроить все файлы, которые хотите, а затем подготовить и зафиксировать их в этой ветке.
Затем вы можете отправить эти изменения в удаленную версию ветки:
git push origin changes
Слияние удаленного филиала с мастером с помощью запроса на слияние
Итак, другой программист проверил изменения в удаленной ветке ( изменения ). Но вы хотите объединить его с основной веткой и отправить вживую.
Помните, что ваша удаленная ветка наследует имя вашей локальной ветки Git ( изменения ). Вот как объединить изменения:
Переключитесь на главную ветку:
git checkout master
Вытяните начало или ГОЛОВУ ветви ( изменения ), чтобы объединить его с основной веткой:
git pull origin changes
Отправьте это слияние в основную ветку:
git push origin master
Вместо этого используйте Git Merge
Чтобы объединить ветку с мастером, используя идти команда:
Перенести в основную ветку:
git checkout master
Слить с веткой ( изменения ):
git merge changes
Затем отправьте слияние в основную ветку:
как исправить сим не подготовлен
git push origin master
Убедитесь, что вы заменили изменения с названием вашей ветки.
После успешного слияния вы можете удалить ветку локально и удаленно если он вам больше не нужен:
Связанный: Как переименовать ветку в Git
Git Rebase
Если у вас есть несколько веток с устаревшими коммитами, вы можете переустановить или перефокусировать голова / судьи этих ветвей, чтобы унаследовать голова / судьи обновленного.
Таким образом, ребазинг полезен, когда вам нужно обновить некоторые ветки на основе текущей.
Однако изменение базы не должно происходить часто, особенно если вы работаете в команде, поскольку это может нарушить весь рабочий процесс. Но если вы работаете в одиночку и знакомы со своим рабочим процессом и ветвями, перебазирование не должно нанести ущерб, если вы знаете, где и как его использовать.
Например, предположим, что у вас есть две ветки; branch1 и branch2. Итак, вы какое-то время не вносили никаких изменений в branch1. Но вы постоянно фиксируете изменения в branch2, в том числе и в последнее время.
Итак, вы решили нести branch1 вместе с потоком. Таким образом, переназначение branch1 на branch2 означает, что вы говорите branch1 игнорировать свои предыдущие коммиты и унаследовать недавнюю фиксацию, сделанную в branch2.
Вот как это сделать:
Перейдите в заброшенную ветку (ветка1):
git checkout branch1
Затем переустановите branch1 на обновленную ветку2:
git rebase branch2
Git Squash
Git squash позволяет объединить несколько коммитов в один. Это помогает, когда ты бежишь git commit много раз за одно обновление. Практический пример - это когда каждое исправление ошибки или рефакторинг кода для одной функции имеет отдельную фиксацию.
Но вы, возможно, не захотите подталкивать фиксацию HEAD вместе с сопутствующими, поскольку все они имеют одну и ту же цель. Рекомендуемый подход - объединить их воедино, чтобы избежать путаницы при отслеживании коммитов.
Лучший способ сквошить коммиты - использовать интерактивный режим перебазирования. Взгляните на приведенный ниже пример, чтобы лучше понять это.
В этом примере предположим, что у вас есть пять исправлений ошибок. И для каждого из них есть коммит. Вот как можно объединить эти пять коммитов в один:
Запустить git reflog чтобы просмотреть хэш-код ваших коммитов:
git reflog
Вот результат в этом случае:
Теперь ваша цель - уничтожить последние пять коммитов, начиная с первое исправление вплоть до пятое исправление .
Для этого скопируйте хэш-код коммита чуть ниже первое исправление ( 0a83962 ). Затем нажмите Q выйти из рефлог .
Теперь беги git rebase - интерактивный на этом хэше.
git rebase --interactive 0a83962
Затем Git открывает интерактивный файл перебазирования, который выглядит следующим образом:
Чтобы раздавить коммиты, исключая первое исправление , заменять выбирать с участием s для каждого из других коммитов:
Сохраните и закройте этот файл.
Затем открывается другой файл, в котором вы можете переименовать сжатую фиксацию:
контроллер xbox one подключен, но не работает
Очистите их и введите предпочтительное имя для сжатого коммита:
Сохраните этот файл. Затем закройте его, и вы должны получить сообщение об успешном завершении в вашем терминале.
Примечание: Интерактивный файл может открываться в терминале. Но если вы работаете в Windows, вы можете заставить свой терминал глобально открывать файлы в вашем любимом текстовом редакторе, чтобы упростить сжатие.
Для этого откройте командную строку и запустите:
git config --global core.editor ''path to choice text editor' -n -w'
Git Fork против Git Clone
Разветвление и клонирование - это два разных термина в Git. Вы не можете форкнуть свой репозиторий, поскольку он уже есть у вас. Однако вы можете форкнуть репозиторий других людей и затем клонировать его.
Форк репозитория означает, что вы берете копию чьего-то репозитория и делаете ее своей. Как только вы получите копию этого репозитория, вы можете клонировать ее, как любой из ваших репозиториев git для локальных изменений.
Вот как клонировать удаленный репозиторий на GitHub и начните загрузку в свой локальный каталог:
git clone https://github.com/username/repository_name.git/
Восстановить файл до состояния по умолчанию
Если вы хотите удалить изменения в файле после последней фиксации, вы можете использовать git восстановить команда:
git restore filename
Изменить фиксацию
Вы можете вернуться к предыдущей фиксации, если забудете внести изменения в некоторые файлы при их постановке.
Внесите изменения в забытый файл. Затем используйте git изменить для просмотра фиксации:
git add file_forgotten
git commit --amend
Файлы Unstage
Вы можете удалить определенные файлы, которые вы подготовили для фиксации, используя иди rm команда:
git rm --cached filename
Также можно удалить сразу несколько файлов:
git rm --cached file1 file2 file3 file4
Не забудьте добавить соответствующее расширение к любому файлу, который вы исключаете. Например, простой текстовый файл должен быть filename.txt .
Связанный: Как очистить Git и удалить неотслеживаемые файлы
Git Reset
С использованием git сбросить полезен, если вы хотите сразу удалить все файлы, которые вы подготовили для фиксации:
git reset
Однако Git reset HEAD указывает HEAD ветки на конкретную фиксацию в вашем рабочем дереве. Например, если вы еще не отправили текущую фиксацию, вы можете вернуться к недавно отправленной фиксации:
git reset --soft HEAD~1
Заменять --мягкий с участием --жесткий если вы уже нажали текущую фиксацию:
git reset --hard HEAD~1
Перейти назад
в отличие от сброс настроек команда вернуться сохраняет целостность вашей истории коммитов. Это удобно, если вы хотите изменить фиксацию из-за ошибок или ошибок.
Он не оставляет целевую фиксацию и не создает новую. Вместо этого он возвращается к недавним изменениям, которые вы сделали, без удаления или переименования такой фиксации. Это отличный способ сохранить ваши коммиты чище, к тому же это безопаснее, чем постоянный сброс.
Чтобы вернуться к фиксации:
git revert HEAD~1
Где ГОЛОВА ~ 1 указывает на конкретную фиксацию в вашем рабочем дереве.
Удалить отслеживаемый файл или каталог
Вы можете использовать git rm -f для удаления любых отслеживаемых файлов в вашем рабочем дереве. Обратите внимание, однако, что Git не может удалить неотслеживаемые файлы, так как он не кэширует их.
Чтобы удалить подготовленный файл:
git rm -f filename
Чтобы удалить промежуточную папку:
git rm -r -f foldername
Git Logging
Чтобы просмотреть журналы и историю коммитов в Git:
git log
Чтобы регистрировать действия в определенной ветке:
git log branch_name
Связанный: Как просмотреть историю проекта с помощью журнала git
Иногда вам может потребоваться вернуться к отмененной фиксации. Итак, чтобы просмотреть оставленные коммиты, в том числе соответствующие:
git reflog
Чтобы просмотреть журналы ссылок для конкретной ветки:
git reflog branch_name
Управляйте версиями проекта как профессионал с помощью Git
Благодаря тому, что Git предлагает множество преимуществ, вы можете управлять выпусками проекта удаленно, не взламывая файлы и папки локально в своей основной ветке. Кроме того, он позволяет легко запускать проекты в команде.
Как вы видели, у Git есть много функций, которые вы можете изучить. Но будьте осторожны, чтобы использовать эти функции целенаправленно. В противном случае вы можете что-то сломать. Тем не менее, вы все равно можете запустить демонстрационный удаленный репозиторий и поэкспериментировать с этими функциями.
Делиться Делиться Твитнуть Эл. адрес Управляйте версиями файлов, как программист, с помощью GitПрограммисты создали системы контроля версий (VCS) для решения проблем контроля версий файлов. Давайте посмотрим на основы управления версиями с помощью самой популярной системы на сегодняшний день, Git.
Читать далее Похожие темы- Программирование
- Веб-разработка
- GitHub
- Учебники по кодированию
Идову увлечен интеллектуальными технологиями и производительностью. В свободное время он играет с кодированием и переключается на шахматную доску, когда ему скучно, но он также любит время от времени отвлекаться от рутины. Его страсть показывать людям современные технологии побуждает его писать больше.
Ещё от Idowu OmisolaПодписывайтесь на нашу новостную рассылку
Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!
Нажмите здесь, чтобы подписаться