Расширенное руководство по Git

Расширенное руководство по Git

Развертывание проекта через удаленный репозиторий позволяет гибко управлять каждым его элементом. Исправления ошибок, обновления функций, удаление файлов, совместная работа, участие в программах с открытым исходным кодом, развертывание кода и многое другое теперь у вас под рукой благодаря глубокому знанию 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
  • Учебники по кодированию
Об авторе Идису Омисола(Опубликовано 94 статей)

Идову увлечен интеллектуальными технологиями и производительностью. В свободное время он играет с кодированием и переключается на шахматную доску, когда ему скучно, но он также любит время от времени отвлекаться от рутины. Его страсть показывать людям современные технологии побуждает его писать больше.

Ещё от Idowu Omisola

Подписывайтесь на нашу новостную рассылку

Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!

Нажмите здесь, чтобы подписаться