Руководство по началу работы с Git

12 set 2022 5 min di lettura
Руководство по началу работы с Git
Indice dei contenuti

Введение

Команды разработчиков и сопровождающих программного обеспечения с открытым исходным кодом обычно управляют своими проектами через Git, распределенную систему управления версиями, поддерживающую совместную работу.

Это руководство содержит краткий справочник по полезным командам для работы и совместной работы в репозитории Git.

Установить и инициализировать

Проверьте свою версию Git с помощью следующей команды, которая также подтвердит, что Git установлен.

git --version

Вы можете инициализировать текущий рабочий каталог как репозиторий Git с помощью команды init.

git init

Чтобы скопировать существующий удаленно размещенный репозиторий Git, будет использоваться git clone с URL-адресом репозитория или местоположением сервера (в последнем случае будет использоваться ssh ).

git clone https://www.github.com/username/repo-name

Показать удаленный репозиторий вашего текущего каталога Git.

git remote

Для более подробного вывода используйте флаг -v.

git remote -v

Добавьте восходящий поток Git, который может быть URL-адресом или может быть размещен на сервере (в последнем случае подключитесь с помощью ssh ).

git remote add upstream https://www.github.com/username/repo-name

Постановка

Когда вы отредактировали файл и пометили его для следующей фиксации, он считается поэтапным.

Проверьте состояние вашего репозитория Git, включая неподготовленные файлы и промежуточные файлы.

git status

Чтобы подготовить измененные файлы, используйте команду add, которую можно запускать несколько раз перед фиксацией. Если вы вносите последующие изменения, которые хотите включить в следующую фиксацию, вам нужно повторно запустить add.

Вы можете указать конкретный файл с помощью add.

git add my_script.py

С . вы можете добавить все файлы в текущий каталог, включая файлы, начинающиеся с расширения ..

git add.

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

git reset my_script.py

Совершение

После того, как файлы подготовлены, вы готовы к фиксации, которая запишет изменения, внесенные вами в репозиторий.

Чтобы зафиксировать файлы поэтапно, вы запустите команду commit с вашим осмысленным сообщением фиксации, чтобы вы могли отслеживать фиксации.

git commit -m "Commit message"

Вы можете сократить подготовку всех отслеживаемых файлов, зафиксировав их в один шаг.

git commit -am "Commit message"

Если вам нужно изменить сообщение коммита, вы можете сделать это с помощью флага --amend.

git commit --amend -m "New commit message"

ветви

Ветка в Git — это плавающий указатель на один из коммитов в репозитории, позволяющий изолировать работу и управлять разработкой и интеграцией функций. Вы можете узнать больше о ветках, прочитав документацию Git.

Перечислите все текущие ветки с помощью команды branch. Рядом с текущей активной веткой будет отображаться звездочка ( * ).

git branch

Создайте новую ветку. Вы останетесь в текущей активной ветке, пока не переключитесь на новую.

git branch new-branch

Перейдите к любой существующей ветке и проверьте ее в текущем рабочем каталоге.

git checkout another-branch

Вы можете консолидировать создание и проверку новой ветки, используя флаг -b.

git checkout -b new-branch

Переименуйте имя вашей ветки.

git branch -m current-branch-name new-branch-name

Объединить историю указанной ветки с той, над которой вы сейчас работаете.

git merge branch-name

Отмените слияние в случае конфликтов.

git merge --abort

Вы также можете выбрать конкретную фиксацию для присоединения, используя строку, ссылающуюся на конкретную фиксацию, с помощью команды cherry-pick.

git cherry-pick f7649d0

После слияния ветки и она больше не нужна, ее можно удалить.

git branch -d branch-name

Если вы не присоединили ветку к основной, но уверены, что хотите ее удалить, вы можете принудительно удалить ее.

git branch -D branch-name

Совместная работа и обновление

Чтобы загрузить изменения из другого репозитория, например удаленного вышестоящего, вы будете использовать команду fetch.

git fetch upstream

Слить восстановленные коммиты. Обратите внимание, что некоторые репозитории могут использовать master вместо main.

git merge upstream/main

Отправка или отправка коммитов локальной ветки в ветку удаленного репозитория.

git push origin main

Получите и объедините любые коммиты из ветки удаленного отслеживания.

git pull

Осмотреть

Просмотрите историю коммитов для текущей активной ветки.

git log

Показывает коммиты, которые изменили конкретный файл. Это следует за файлом независимо от того, переименован ли файл.

git log --follow my_script.py

Показать коммиты, которые находятся на одной ветке, а не на другой. Эта команда покажет коммиты, присутствующие в a-branch и неактивные в b-branch.

git log a-branch..b-branch

Посмотрите в reflog, чтобы узнать, когда в последний раз обновлялись предложения веток и другие ссылки в репозитории.

git reflog

Показать любой объект в Git через его коммит или хеш-строку в более удобном для человека формате.

git show de754f5

Показать изменения

Команда git diff показывает изменения между коммитами, ветвями и многим другим. Подробнее об этом можно прочитать в документации Git.

Сравните измененные файлы, расположенные в промежуточной области.

git diff --staged

Он показывает разницу между тем, что находится внутри a-branch но не внутри b-branch.

git diff a-branch..b-branch

Покажите разницу между двумя конкретными коммитами.

git diff 61ce3e6..e221d9c

Тайник

Иногда вы обнаружите, что внесли изменения в некоторые коды, но прежде чем вы закончите, вам нужно начать работать над чем-то еще. Вы не совсем готовы зафиксировать изменения, которые вы сделали до сих пор, но вы не хотите потерять работу. Команда git stash позволит вам сохранить локальные изменения и вернуться в рабочий каталог в соответствии с последним коммитом HEAD.

Спрячьте свою текущую работу.

git stash

Посмотрите, что вы сейчас спрятали (Stashed).

git stash list

Тайники будут называться stash@{0}, stash@{1} и так далее.

Показать информацию о конкретном тайнике.

git stash show stash@{0}

Чтобы извлечь файлы в текущем тайнике из тайника, сохраняя при этом тот же тайник, используйте команду apply.

git stash apply stash@{0}

Если вы хотите извлечь файлы из тайника, а потом это уже не нужно, используйте команду pop.

git stash pop stash@{0}

Если вам больше не нужны файлы, сохраненные в определенном тайнике, вы можете drop его.

git stash drop stash@{0}

Если у вас сохранено несколько тайников и вам больше не нужно их использовать, вы можете удалить их с помощью команды clear.

git stash clear

Игнорировать файлы

Если вы хотите сохранить файлы в своем локальном каталоге Git, но не хотите фиксировать их в своем проекте, вы можете добавить эти файлы в файл .gitignore, чтобы они не вызывали конфликтов.

Используйте текстовый редактор, например nano или vim, чтобы добавить файлы в файл .gitignore.

nano.gitignore

Перебазирование

Rebase позволяет нам перемещать ветки, изменяя фиксацию, на которой они основаны. С помощью ребазинга вы можете отменить или перефразировать коммиты.

Вы можете инициировать перебазирование, назвав количество коммитов, которые вы сделали и хотите перебазировать ( 5 в следующем случае).

git rebase -i HEAD~5

В качестве альтернативы вы можете перебазировать на основе конкретной фиксации или строки хэша.

git rebase -i 074a4e5

После фиксации или переформулирования коммитов вы можете выполнить перебазирование ветки поверх последней версии исходного кода проекта. Обратите внимание, что некоторые репозитории могут использовать master вместо main.

git rebase upstream/main

Вернуть и восстановить

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

git revert 1fc6665

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

git reset --hard 1fc6665

Чтобы принудительно отправить последний известный неконфликтующий коммит в исходный репозиторий, вам нужно использовать --force.

Предупреждениеmaster
git push --force origin main

Чтобы удалить локальные неотслеживаемые файлы и подкаталоги из каталога Git для чистой рабочей ветки, вы можете использовать git clean.

git clean -f -d

Если вам нужно изменить локальный репозиторий, чтобы он выглядел как текущая основная ветка основной ветки (то есть, если конфликтов слишком много), вы можете выполнить полную перезагрузку.

Примечание, будет уничтожена
git reset --hard upstream/main

Вывод

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

Для получения дополнительной информации читайте этот туториал: Git — простое руководство.

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

git --help
Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.