Содержание

30 команд Git, необходимых для освоения интерфейса командной строки Git / Хабр

Git — самая популярная в мире распределённая система контроля версий. Линус Торвальдс, разработчик ядра ОС Linux, создал этот инструмент ещё в 2005 году, а сегодня Git активно поддерживается как проект с открытым исходным кодом. Огромное количество открытых и коммерческих проектов используют Git для контроля версий.

В данной статье перечисляются самые основные команды, которые следует знать разработчику, чтобы освоить управление репозиториями GitHub на высоком уровне. Ознакомиться с ними будет полезно как новичкам, так и опытным разработчикам.

30 основных команд, которые сделают из вас мастера Git


  1. Как задать имя пользователя и адрес электронной почты
  2. Кэширование учётных данных
  3. Инициализация репозитория
  4. Добавление отдельных файлов или всех файлов в область подготовленных файлов
  5. Проверка статуса репозитория
  6. Внесение изменений однострочным сообщением или через редактор
  7. Просмотр истории коммитов с изменениями
  8. Просмотр заданного коммита
  9. Просмотр изменений до коммита
  10. Удаление отслеживаемых файлов из текущего рабочего дерева
  11. Переименование файлов
  12. Отмена подготовленных и неподготовленных изменений
  13. Изменение последнего коммита
  14. Откат последнего коммита
  15. Откат заданного коммита
  16. Создание новой ветки и переход в неё
  17. Просмотр списка веток
  18. Удаление ветки
  19. Слияние двух веток
  20. Отображение журнала фиксации в виде графика для текущей или всех веток
  21. Прекращение слияния при конфликте
  22. Добавление удалённого репозитория
  23. Просмотр удалённых URL-адресов
  24. Получение дополнительных сведений об удалённом репозитории
  25. Отправка изменений в удалённый репозиторий
  26. Получение изменений из удалённого репозитория
  27. Слияние удалённого репозитория с локальным
  28. Отправка новой ветки в удалённый репозиторий
  29. Удаление удалённой ветки
  30. Использование перебазирования

1.

Как задать имя пользователя и адрес электронной почты

Имя пользователя нужно, чтобы привязывать коммиты к вашему имени. Это не то же самое, что имя пользователя учётной записи GitHub, с помощью которого выполняется вход в профиль на GitHub. Задать или изменить имя пользователя можно с помощью команды

git config. Новое имя будет автоматически отображаться в последующих коммитах, отправленных на GitHub через командную строку. Если хотите скрыть своё реальное имя, можно использовать в качестве имени пользователя Git произвольный набор символов.

git config --global user.name "Tara Routray"

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

git config --global user.email "dev@tararoutray.
com"


2. Кэширование учётных данных

Кэшировать учётные данные можно с помощью параметра config с флагом --global. Так вы избавитесь от необходимости вручную вводить имя пользователя и пароль при создании нового коммита.

git config --global credential.helper cache


3. Инициализация репозитория

Создать пустой репозиторий Git или вновь инициализировать существующий можно параметром init. При инициализации он создаст скрытую папку. В ней содержатся все объекты и ссылки, которые Git использует и создаёт в истории работы над проектом.

git init


4. Добавление отдельных файлов или всех файлов в область подготовленных файлов

Добавить отдельный файл в область подготовленных файлов можно параметром add с указанием имени файла. Просто замените somefile. js на актуальное имя.

git add somefile.js

Кроме того, можно добавить все файлы и папки в эту область, предоставив wildcard . вместо имени файла:

git add .


5. Проверка статуса репозитория

Просмотреть статус нужного репозитория можно по ключевому слову

status: его действие распространяется на подготовленные, неподготовленные и неотслеживаемые файлы.

git status


6. Внесение изменений однострочным сообщением или через редактор

При создании коммита в репозитории можно добавить однострочное сообщение с помощью параметра commit с флагом -m. Само сообщение вводится непосредственно после флага, в кавычках.

git commit -m "Your short summary about the commit"

Также можно открыть текстовый редактор в терминале для написания полного сообщения коммита.

Оно может состоять из нескольких строк текста, в котором подробно характеризуются изменения, внесённые в репозиторий.

git commit


7. Просмотр истории коммитов с изменениями

Просматривать изменения, внесённые в репозиторий, можно с помощью параметра log. Он отображает список последних коммитов в порядке выполнения. Кроме того, добавив флаг -p, вы можете подробно изучить изменения, внесённые в каждый файл.

git log -p


8. Просмотр заданного коммита

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

git show 1af17e73721dbe0c40011b82ed4bb1a7dbe3ce29

Также можно использовать сокращённый хеш.

git show 1af17e


9.

Просмотр изменений до коммита

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

git diff

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

git diff --staged

Также можно указать имя файла как параметр и просмотреть изменения, внесённые только в этот файл.

git diff somefile.js


10. Удаление отслеживаемых файлов из текущего рабочего дерева

Удалять файлы из текущего рабочего дерева можно с помощью параметра rm. При этом файлы удаляются и из индекса.

git rm dirname/somefile.js

Можно также использовать маски файлов (например *.js) для удаления всех файлов, соответствующих критерию.

git rm dirname/*.html


11. Переименование файлов

Переименовать файл или папку можно параметром mv. Для него указывается источник source и назначение destination. Источник — реально существующий файл или папка, а назначение — существующая папка.

git mv dir1/somefile.js dir2

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

12. Отмена подготовленных и неподготовленных изменений

Восстановить файлы рабочего дерева, не подготовленные к коммиту, можно параметром checkout. Для проведения операции требуется указать путь к файлу. Если путь не указан, параметр

git checkout изменит указатель HEAD, чтобы задать указанную ветку как текущую.

git checkout somefile. js

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

git reset HEAD somefile.js

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

git reset HEAD


13. Изменение последнего коммита

Внести изменения в последний коммит можно параметром commit с флагом --amend. Например, вы записали изменения, внесённые в ряд файлов, и поняли, что допустили ошибку в сообщении коммита. В этом случае можете воспользоваться указанной командой, чтобы отредактировать сообщение предыдущего коммита, не изменяя его снимок.

git commit --amend -m "Updated message for the previous commit"

Также можно вносить изменения в файлы, отправленные ранее.

Например, вы изменили несколько файлов в ряде папок и хотите их записать как единый снимок, но забыли добавить в коммит одну из папок. Чтобы исправить такую ошибку, достаточно подготовить для фиксации остальные файлы и папки и создать коммит с флагами --amend и --no-edit.

git add dir1
git commit
# Here you forgot to add dir2 to commit, you can execute the
following command to amend the other files and folders.
git add dir2
git commit --amend --no-edit

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

Внимание! Не изменяйте публичные коммиты.

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



14. Откат последнего коммита

Откатить последний коммит можно с помощью параметра revert. Создастся новый коммит, содержащий обратные преобразования относительно предыдущего, и добавится к истории текущей ветки.

git revert HEAD

▍ Разница между revert и reset

Команда git revert отменяет изменения, записанные только одним коммитом. Она не откатывает проект к более раннему состоянию, удаляя все последующие коммиты, как это делает команда git reset.

У команды revert есть два крупных преимущества по сравнению с reset. Во-первых, она не меняет историю проекта и производит операцию, безопасную для коммитов. Во-вторых, её объектом выступает конкретный коммит, созданный в любой момент истории, а git reset всегда берёт за точку отсчёта текущий коммит. К примеру, если нужно отменить старый коммит с помощью git reset, придётся удалить все коммиты, поданные после целевого, а затем выполнить их повторно. Следовательно, команда git revert — гораздо более удобный и безопасный способ отмены изменений.

15. Откат заданного коммита

Откатить проект до заданного коммита можно с помощью параметра revert и идентификатора коммита. Создастся новый коммит — копия коммита с предоставленным идентификатором — и добавится к истории текущей ветки.

git revert 1af17e


16. Создание новой ветки и переход в неё

Создать новую ветку можно с помощью параметра branch, указав имя ветки.

git branch new_branch_name

Но Git не переключится на неё автоматически. Для автоматического перехода нужно добавить флаг -b и параметр checkout.

git checkout -b new_branch_name


17.

Просмотр списка веток

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

git branch

Также можно вывести список удалённых веток с помощью флага -a.

git branch -a


18. Удаление ветки

Удалить ветку можно параметром branch с добавлением флага -d и указанием имени ветки. Если вы завершили работу над веткой и объединили её с основной, можно её удалить без потери истории. Однако, если выполнить команду удаления до слияния — в результате появится сообщение об ошибке. Этот защитный механизм предотвращает потерю доступа к файлам.

git branch -d existing_branch_name

Для принудительного удаления ветки используется флаг -D с заглавной буквой. В этом случае ветка будет удалена независимо от текущего статуса, без предупреждений.

git branch -D existing_branch_name

Вышеуказанные команды удаляют только локальную копию ветки. В удалённом репозитории она может сохраниться. Если хотите стереть удалённую ветку, выполните следующую команду:

git push origin --delete existing_branch_name


19. Слияние двух веток

Объединить две ветки можно параметром merge с указанием имени ветки. Команда объединит указанную ветку с основной.

git merge existing_branch_name

Если надо выполнить коммит слияния, выполните команду git merge с флагом --no-ff.

git merge --no-ff existing_branch_name

Указанная команда объединит заданную ветку с основной и произведёт коммит слияния. Это необходимо для фиксации всех слияний в вашем репозитории.

20. Отображение журнала фиксации в виде графика для текущей или всех веток

Просмотреть историю коммитов в виде графика для текущей ветки можно с помощью параметра log и флагов --graph --oneline --decorate. Опция --graph выведет график в формате ASCII, отражающий структуру ветвления истории коммитов. В связке с флагами --oneline и --decorate, этот флаг упрощает понимание того, к какой ветке относится каждый коммит.

git log --graph --oneline --decorate

Для просмотра истории коммитов по всем веткам используется флаг --all.

git log --all --graph --oneline --decorate


21. Прекращение слияния при конфликте

Прервать слияние в случае конфликта можно параметром merge с флагом --abort. Он позволяет остановить процесс слияния и вернуть состояние, с которого этот процесс был начат.

git merge --abort

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

git reset


22. Добавление удалённого репозитория

Добавить удалённый репозиторий можно параметром remote add, указав shortname и url требуемого репозитория.

git remote add awesomeapp https://github.com/someurl..


23. Просмотр удалённых URL-адресов

Просматривать удалённые URL-адреса можно параметром remote с флагом -v. Этот параметр отображает удалённые подключения к другим репозиториям.

git remote -v

Такая команда открывает доступ к интерфейсу управления удалёнными записями, которые хранятся в файле .git/config репозитория.

24. Получение дополнительных сведений об удалённом репозитории

Получить подробные сведения об удалённом репозитории можно с помощью параметра remote show с указанием имени репозитория — например, origin.

git remote show origin

Эта команда отображает список веток, связанных с удалённым репозиторием, а также рабочих станций, подключённых для получения и отправки файлов.

25. Отправка изменений в удалённый репозиторий

Отправлять изменения в удалённый репозиторий можно параметром push с указанием имени репозитория и ветки.

git push origin main

Эта команда передаёт локальные изменения в центральный репозиторий, где с ними могут ознакомиться другие участники проекта.

26. Получение изменений из удалённого репозитория

Для загрузки изменений из удалённого репозитория используется параметр pull. Он скачивает копию текущей ветки с указанного удалённого репозитория и объединяет её с локальной копией.

git pull

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

git pull --verbose


27. Слияние удалённого репозитория с локальным

Слияние удалённого репозитория с локальным выполняется параметром merge с указанием имени удалённого репозитория.

git merge origin


28. Отправка новой ветки в удалённый репозиторий

Передать новую ветку в удалённый репозиторий можно параметром push с флагом -u, указав имя репозитория и имя ветки.

git push -u origin new_branch


29. Удаление удалённой ветки

Чтобы избавиться от удалённой ветки, используйте параметр push с флагом --delete, указав имя удалённого репозитория и имя ветки.

git push --delete origin existing_branch


30. Использование перебазирования

Для доступа к этой функции используйте параметр rebase с указанием имени ветки. Перебазирование — это процесс объединения или перемещения последовательности коммитов на новый родительский снимок.

git rebase branch_name

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

▍ Спасибо за внимание!

Вы узнали 30 основных команд интерфейса командной строки Git. Теперь, при условии регулярной практики, у вас есть всё необходимое, чтобы достичь мастерства в управлении репозиториями GitHub.

30 команд Git, необходимых для освоения интерфейса командной строки Git / Хабр

Git — самая популярная в мире распределённая система контроля версий. Линус Торвальдс, разработчик ядра ОС Linux, создал этот инструмент ещё в 2005 году, а сегодня Git активно поддерживается как проект с открытым исходным кодом. Огромное количество открытых и коммерческих проектов используют Git для контроля версий.

В данной статье перечисляются самые основные команды, которые следует знать разработчику, чтобы освоить управление репозиториями GitHub на высоком уровне. Ознакомиться с ними будет полезно как новичкам, так и опытным разработчикам.

30 основных команд, которые сделают из вас мастера Git


  1. Как задать имя пользователя и адрес электронной почты
  2. Кэширование учётных данных
  3. Инициализация репозитория
  4. Добавление отдельных файлов или всех файлов в область подготовленных файлов
  5. Проверка статуса репозитория
  6. Внесение изменений однострочным сообщением или через редактор
  7. Просмотр истории коммитов с изменениями
  8. Просмотр заданного коммита
  9. Просмотр изменений до коммита
  10. Удаление отслеживаемых файлов из текущего рабочего дерева
  11. Переименование файлов
  12. Отмена подготовленных и неподготовленных изменений
  13. Изменение последнего коммита
  14. Откат последнего коммита
  15. Откат заданного коммита
  16. Создание новой ветки и переход в неё
  17. Просмотр списка веток
  18. Удаление ветки
  19. Слияние двух веток
  20. Отображение журнала фиксации в виде графика для текущей или всех веток
  21. Прекращение слияния при конфликте
  22. Добавление удалённого репозитория
  23. Просмотр удалённых URL-адресов
  24. Получение дополнительных сведений об удалённом репозитории
  25. Отправка изменений в удалённый репозиторий
  26. Получение изменений из удалённого репозитория
  27. Слияние удалённого репозитория с локальным
  28. Отправка новой ветки в удалённый репозиторий
  29. Удаление удалённой ветки
  30. Использование перебазирования

1.

Как задать имя пользователя и адрес электронной почты

Имя пользователя нужно, чтобы привязывать коммиты к вашему имени. Это не то же самое, что имя пользователя учётной записи GitHub, с помощью которого выполняется вход в профиль на GitHub. Задать или изменить имя пользователя можно с помощью команды git config. Новое имя будет автоматически отображаться в последующих коммитах, отправленных на GitHub через командную строку. Если хотите скрыть своё реальное имя, можно использовать в качестве имени пользователя Git произвольный набор символов.

git config --global user.name "Tara Routray"

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

git config --global user.email "dev@tararoutray. com"


2. Кэширование учётных данных

Кэшировать учётные данные можно с помощью параметра config с флагом --global. Так вы избавитесь от необходимости вручную вводить имя пользователя и пароль при создании нового коммита.

git config --global credential.helper cache


3. Инициализация репозитория

Создать пустой репозиторий Git или вновь инициализировать существующий можно параметром init. При инициализации он создаст скрытую папку. В ней содержатся все объекты и ссылки, которые Git использует и создаёт в истории работы над проектом.

git init


4. Добавление отдельных файлов или всех файлов в область подготовленных файлов

Добавить отдельный файл в область подготовленных файлов можно параметром add с указанием имени файла. Просто замените somefile. js на актуальное имя.

git add somefile.js

Кроме того, можно добавить все файлы и папки в эту область, предоставив wildcard . вместо имени файла:

git add .


5. Проверка статуса репозитория

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

git status


6. Внесение изменений однострочным сообщением или через редактор

При создании коммита в репозитории можно добавить однострочное сообщение с помощью параметра commit с флагом -m. Само сообщение вводится непосредственно после флага, в кавычках.

git commit -m "Your short summary about the commit"

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

git commit


7. Просмотр истории коммитов с изменениями

Просматривать изменения, внесённые в репозиторий, можно с помощью параметра log. Он отображает список последних коммитов в порядке выполнения. Кроме того, добавив флаг -p, вы можете подробно изучить изменения, внесённые в каждый файл.

git log -p


8. Просмотр заданного коммита

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

git show 1af17e73721dbe0c40011b82ed4bb1a7dbe3ce29

Также можно использовать сокращённый хеш.

git show 1af17e


9.

Просмотр изменений до коммита

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

git diff

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

git diff --staged

Также можно указать имя файла как параметр и просмотреть изменения, внесённые только в этот файл.

git diff somefile.js


10. Удаление отслеживаемых файлов из текущего рабочего дерева

Удалять файлы из текущего рабочего дерева можно с помощью параметра rm. При этом файлы удаляются и из индекса.

git rm dirname/somefile.js

Можно также использовать маски файлов (например *.js) для удаления всех файлов, соответствующих критерию.

git rm dirname/*.html


11. Переименование файлов

Переименовать файл или папку можно параметром mv. Для него указывается источник source и назначение destination. Источник — реально существующий файл или папка, а назначение — существующая папка.

git mv dir1/somefile.js dir2

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

12. Отмена подготовленных и неподготовленных изменений

Восстановить файлы рабочего дерева, не подготовленные к коммиту, можно параметром checkout. Для проведения операции требуется указать путь к файлу. Если путь не указан, параметр git checkout изменит указатель HEAD, чтобы задать указанную ветку как текущую.

git checkout somefile. js

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

git reset HEAD somefile.js

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

git reset HEAD


13. Изменение последнего коммита

Внести изменения в последний коммит можно параметром commit с флагом --amend. Например, вы записали изменения, внесённые в ряд файлов, и поняли, что допустили ошибку в сообщении коммита. В этом случае можете воспользоваться указанной командой, чтобы отредактировать сообщение предыдущего коммита, не изменяя его снимок.

git commit --amend -m "Updated message for the previous commit"

Также можно вносить изменения в файлы, отправленные ранее. Например, вы изменили несколько файлов в ряде папок и хотите их записать как единый снимок, но забыли добавить в коммит одну из папок. Чтобы исправить такую ошибку, достаточно подготовить для фиксации остальные файлы и папки и создать коммит с флагами --amend и --no-edit.

git add dir1
git commit
# Here you forgot to add dir2 to commit, you can execute the
following command to amend the other files and folders.
git add dir2
git commit --amend --no-edit

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

Внимание! Не изменяйте публичные коммиты.

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



14. Откат последнего коммита

Откатить последний коммит можно с помощью параметра revert. Создастся новый коммит, содержащий обратные преобразования относительно предыдущего, и добавится к истории текущей ветки.

git revert HEAD

▍ Разница между revert и reset

Команда git revert отменяет изменения, записанные только одним коммитом. Она не откатывает проект к более раннему состоянию, удаляя все последующие коммиты, как это делает команда git reset.

У команды revert есть два крупных преимущества по сравнению с reset. Во-первых, она не меняет историю проекта и производит операцию, безопасную для коммитов. Во-вторых, её объектом выступает конкретный коммит, созданный в любой момент истории, а git reset всегда берёт за точку отсчёта текущий коммит. К примеру, если нужно отменить старый коммит с помощью git reset, придётся удалить все коммиты, поданные после целевого, а затем выполнить их повторно. Следовательно, команда git revert — гораздо более удобный и безопасный способ отмены изменений.

15. Откат заданного коммита

Откатить проект до заданного коммита можно с помощью параметра revert и идентификатора коммита. Создастся новый коммит — копия коммита с предоставленным идентификатором — и добавится к истории текущей ветки.

git revert 1af17e


16. Создание новой ветки и переход в неё

Создать новую ветку можно с помощью параметра branch, указав имя ветки.

git branch new_branch_name

Но Git не переключится на неё автоматически. Для автоматического перехода нужно добавить флаг -b и параметр checkout.

git checkout -b new_branch_name


17.

Просмотр списка веток

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

git branch

Также можно вывести список удалённых веток с помощью флага -a.

git branch -a


18. Удаление ветки

Удалить ветку можно параметром branch с добавлением флага -d и указанием имени ветки. Если вы завершили работу над веткой и объединили её с основной, можно её удалить без потери истории. Однако, если выполнить команду удаления до слияния — в результате появится сообщение об ошибке. Этот защитный механизм предотвращает потерю доступа к файлам.

git branch -d existing_branch_name

Для принудительного удаления ветки используется флаг -D с заглавной буквой. В этом случае ветка будет удалена независимо от текущего статуса, без предупреждений.

git branch -D existing_branch_name

Вышеуказанные команды удаляют только локальную копию ветки. В удалённом репозитории она может сохраниться. Если хотите стереть удалённую ветку, выполните следующую команду:

git push origin --delete existing_branch_name


19. Слияние двух веток

Объединить две ветки можно параметром merge с указанием имени ветки. Команда объединит указанную ветку с основной.

git merge existing_branch_name

Если надо выполнить коммит слияния, выполните команду git merge с флагом --no-ff.

git merge --no-ff existing_branch_name

Указанная команда объединит заданную ветку с основной и произведёт коммит слияния. Это необходимо для фиксации всех слияний в вашем репозитории.

20. Отображение журнала фиксации в виде графика для текущей или всех веток

Просмотреть историю коммитов в виде графика для текущей ветки можно с помощью параметра log и флагов --graph --oneline --decorate. Опция --graph выведет график в формате ASCII, отражающий структуру ветвления истории коммитов. В связке с флагами --oneline и --decorate, этот флаг упрощает понимание того, к какой ветке относится каждый коммит.

git log --graph --oneline --decorate

Для просмотра истории коммитов по всем веткам используется флаг --all.

git log --all --graph --oneline --decorate


21. Прекращение слияния при конфликте

Прервать слияние в случае конфликта можно параметром merge с флагом --abort. Он позволяет остановить процесс слияния и вернуть состояние, с которого этот процесс был начат.

git merge --abort

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

git reset


22. Добавление удалённого репозитория

Добавить удалённый репозиторий можно параметром remote add, указав shortname и url требуемого репозитория.

git remote add awesomeapp https://github.com/someurl..


23. Просмотр удалённых URL-адресов

Просматривать удалённые URL-адреса можно параметром remote с флагом -v. Этот параметр отображает удалённые подключения к другим репозиториям.

git remote -v

Такая команда открывает доступ к интерфейсу управления удалёнными записями, которые хранятся в файле .git/config репозитория.

24. Получение дополнительных сведений об удалённом репозитории

Получить подробные сведения об удалённом репозитории можно с помощью параметра remote show с указанием имени репозитория — например, origin.

git remote show origin

Эта команда отображает список веток, связанных с удалённым репозиторием, а также рабочих станций, подключённых для получения и отправки файлов.

25. Отправка изменений в удалённый репозиторий

Отправлять изменения в удалённый репозиторий можно параметром push с указанием имени репозитория и ветки.

git push origin main

Эта команда передаёт локальные изменения в центральный репозиторий, где с ними могут ознакомиться другие участники проекта.

26. Получение изменений из удалённого репозитория

Для загрузки изменений из удалённого репозитория используется параметр pull. Он скачивает копию текущей ветки с указанного удалённого репозитория и объединяет её с локальной копией.

git pull

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

git pull --verbose


27. Слияние удалённого репозитория с локальным

Слияние удалённого репозитория с локальным выполняется параметром merge с указанием имени удалённого репозитория.

git merge origin


28. Отправка новой ветки в удалённый репозиторий

Передать новую ветку в удалённый репозиторий можно параметром push с флагом -u, указав имя репозитория и имя ветки.

git push -u origin new_branch


29. Удаление удалённой ветки

Чтобы избавиться от удалённой ветки, используйте параметр push с флагом --delete, указав имя удалённого репозитория и имя ветки.

git push --delete origin existing_branch


30. Использование перебазирования

Для доступа к этой функции используйте параметр rebase с указанием имени ветки. Перебазирование — это процесс объединения или перемещения последовательности коммитов на новый родительский снимок.

git rebase branch_name

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

▍ Спасибо за внимание!

Вы узнали 30 основных команд интерфейса командной строки Git. Теперь, при условии регулярной практики, у вас есть всё необходимое, чтобы достичь мастерства в управлении репозиториями GitHub.

Использование Git (и GitHub) для Windows | Pluralsight

Douglas Matoso

Douglas Matoso

  • Feb 4, 2019
  • 6 Min read
  • 214,896 Views
  • Feb 4, 2019
  • 6 Min read
  • 214,896 Views

Engineering

Summary

Резюме

В этом руководстве показано, как установить Git в Windows, создать локальный репозиторий, а затем отправить его на GitHub.

Установка Git

Загрузите установщик для Windows с официального сайта Git.

Выполнить загруженный файл. На странице Select Components вы можете оставить параметры по умолчанию.

Интеграция проводника Windows > Пункты контекстного меню позволяет открыть командную строку Git (Git Bash) из любой папки, щелкнув правой кнопкой мыши папку и выбрав Git Bash Here . Последний вариант интересен еще и тем, что устанавливает более качественный шрифт для всех консольных окон.

Примечание. Git для Windows поставляется с собственной командной строкой (Git Bash), в которой, помимо команд git, есть несколько полезных команд Unix (и она выглядит лучше, чем приглашение Windows по умолчанию).

На следующем экране ( Настройка среды пути ) я выбираю наиболее консервативный вариант: Использовать только Git Bash . Это сделает команды git доступными только в Git Bash и не изменит вашу переменную PATH. Щелкните Далее .

Еще одна важная настройка: окончания строк. Как вы, возможно, знаете, системы Windows и Unix (Linux, Mac) имеют разные форматы разрывов строк в текстовых файлах. Если вы пишете файл с разрывами строк в Windows, у другого человека могут возникнуть проблемы с открытием этого файла в Linux и наоборот. Настройка окончания строки позволяет нормализовать это.

Я предпочитаю выбрать второй вариант ( Извлечь как есть, зафиксировать окончания строки в стиле Unix ), который не изменит разрывы строк при поступлении файла, но преобразует их в стиль Unix при фиксации. Таким образом, вы не рискуете использовать разрывы строк в стиле Windows, и все сохраняется в стиле Unix. Не беспокойтесь, даже если вы работаете в Windows, большинство текстовых редакторов прекрасно считывают разрывы строк Unix.

После этого еще один Далее , Готово , и Git установлен!

Создание локального репозитория

Давайте проверим. Создайте папку, щелкните правой кнопкой мыши и выберите Git Bash Here .

Прежде всего, давайте сообщим Git, кто вы, чтобы можно было идентифицировать ваши коммиты. Введите команды, замените данные в кавычках на свое настоящее имя и e-mail: (нажимайте Enter после каждой).

 1git config --global user.name «Имя Фамилия»
2git config --global user. email "[email protected]" 

bash

Теперь давайте инициализируем репозиторий Git в этой папке:

 1git init 

оболочка

Видите это (мастер) в командной строке? Он сообщает вам текущую ветку, в которой вы находитесь в репозитории Git. Ветка master является основной веткой в ​​каждом репозитории Git.

Теперь давайте добавим новый файл и зафиксируем его. Посмотрите на последовательность команд (нажимайте Enter после каждой):

 1touch test.txt
2гит добавить.
3git commit -m "Первый коммит" 

shell

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

Поделитесь своим кодом на GitHub

Круто! У вас есть репозиторий Git на вашем компьютере, но как насчет того, чтобы поделиться своим кодом на GitHub?

Первоначальная настройка

Если у вас еще нет учетной записи GitHub, перейдите на http://github. com и создайте ее. Это бесплатно.

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

В Git Bash введите команду:

 1ssh-keygen -t rsa -C "[email protected]" 

bash

Используйте тот же адрес электронной почты, который вы зарегистрировали на GitHub.

В следующем вопросе нажмите Enter, чтобы выбрать значение по умолчанию.

Теперь запросит пароль. Введите пароль (это НЕ ваш пароль GitHub). Когда он запросит подтверждение, введите пароль еще раз. Теперь введите команду:

 1notepad ~/.ssh/id_rsa.pub 

bash

Чтобы открыть в Блокноте созданный файл.

На GitHub перейдите к Настройки , а затем Ключи SSH и GPG . Щелкните Новый ключ SSH . Введите заголовок для идентификации этого компьютера и в поле Key вставьте все содержимое файла id_rsa. pub.

Будьте осторожны, скопируйте и вставьте все содержимое файла, начиная с «ssh-ras …» и заканчивая адресом электронной почты (включая его). Нажмите Добавить SSH-ключ .

Давайте проверим, все ли в порядке. В Git Bash введите:

 1ssh -T [email protected] 

bash

Он спросит, хотите ли вы подключиться к удаленному компьютеру. Введите yes и нажмите Enter. Далее запросит пароль. Введите пароль, который вы использовали в команде ssh-keygen .

Если вы видите сообщение вроде:

 1Привет, пользователь! Вы успешно прошли аутентификацию, но GitHub не предоставляет доступ к оболочке. 

Тогда все правильно!

Создание вашего первого удаленного репозитория

На GitHub давайте создадим новый репозиторий (кнопка Новый репозиторий на панели инструментов). Введите имя; в нем не должно быть пробелов или специальных символов, так как он будет частью URL-адреса вашего нового репо. Остальные параметры можно оставить по умолчанию.

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

В Git Bash (в папке вашего локального репозитория) введите:

 1git удаленное добавление источника [email protected]:user/repo_name.git 

bash

Обратите внимание, что user/repo_name необходимо вводить так же, как они отображаются в URL-адресе вашего репозитория, например:

https://github .com/user/repo_name

Теперь, чтобы отправить файлы на GitHub, введите:

 1git push origin master 

bash

Сообщите пароль ключа SSH, если он спросит.

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

Заключение

Несмотря на то, что Git зародился в Linux (знаете ли вы, что он был создан Линусом Торвальдсом, тем же парнем, который создал Linux?), разработчики всех систем могут извлечь из этого пользу. Git — это отличная система SCM (управление исходным кодом), широко распространенная, и сообщество разработчиков открытого исходного кода на GitHub активно работает! Вы можете найти код практически для всего, что захотите, внести свой вклад вместе с другими разработчиками и поделиться своими собственными решениями.

Как установить Git в Windows [издание 2022 г.]

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

В этой статье «Установка Git в Windows» вы найдете пошаговое руководство по установке Git в Windows 10. Приступим.

Установка Git в Windows

Теперь давайте рассмотрим различные этапы установки Git в Windows.

Шаг 1:

Загрузите последнюю версию Git и выберите 64/32-разрядную версию. После загрузки файла установите его в систему. После установки выберите «Запустить Git Bash», затем нажмите «Готово». Теперь Git Bash запущен.

Шаг 2:

Проверьте версию Git:

$ git —версия

Шаг 3:

Для получения помощи используйте следующую команду:

$ git help config

Эта команда приведет вас к браузеру команд конфигурации. По сути, справка команда предоставляет руководство со страницы справки для следующей за ней команды (здесь это конфигурация).

Другой способ использования той же команды:

$ git config —help

Шаг 4:

Создайте локальный каталог с помощью следующей команды:

$ mkdir тест

$ кд тест

Шаг 5:

Следующий шаг — инициализация каталога:

$ git инициализация

Шаг 6:

Перейдите в папку, в которой создан «тест», и создайте текстовый документ с именем «демо». Откройте «демо» и поместите любой контент, например «Hello Simplilearn». Сохраните и закройте файл.

Шаг 7:

Войдите в интерфейс Git bash и введите следующую команду, чтобы проверить статус:

$ git статус

Шаг 8:

Добавьте «демо» в текущий каталог с помощью следующей команды:

$ git добавить demo.txt

Шаг 9:

Затем сделайте фиксацию с помощью следующей команды:

$ git commit -m «фиксация текстового файла»

Шаг 10:

Связать Git с учетной записью Github:

$ git config —global user.username

Примечание. simplilearn-github — это имя пользователя в учетной записи Github.

Шаг 11:

Откройте свою учетную запись Github и создайте новый репозиторий с именем «test_demo» и нажмите «Создать репозиторий». Это удаленный репозиторий. Затем скопируйте ссылку «test_demo».

Шаг 12:

Вернитесь в Git bash и свяжите удаленный и локальный репозиторий с помощью следующей команды:

$ git удаленное добавление источника <ссылка>

Здесь <ссылка> — это ссылка, скопированная на предыдущем шаге.

Шаг 13:

Поместите локальный файл в удаленный репозиторий с помощью следующей команды:

$ git push origin master

Шаг 14:

Вернитесь в Github, нажмите «test_demo» и проверьте, отправлен ли локальный файл «demo.txt» в этот репозиторий.

Дополнительные параметры настройки

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

Как запустить Git в Windows?

Есть два способа запустить git в Windows. Один запускает git с помощью оболочки сценариев bash с помощью командной строки, а другой запускает git с помощью графического пользовательского интерфейса.

  1. Чтобы запустить git через оболочку сценариев bash,
    Сначала откройте окно, найдите git bash и откройте его.
  2. Чтобы запустить git через графический интерфейс пользователя (GUI), аналогичным образом, сначала откройте окно и выполните поиск git GUI, щелкните значок приложения и откройте его.

Настройка учетных данных GitHub

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

  1. git config –global user.n
    ame «github_username»
  2. git config –global user. e
    почта «email_address»

Клонировать репозиторий GitHub

  1. Первоначально вам нужно щелкнуть репозиторий параметров на GitHub.
  2. Затем в правом верхнем углу выберите вариант клонирования или загрузки, где появится небольшой раскрывающийся список с URL-адресом для клонирования через HTTPS.
  3. Затем войдите в свои окна Powershell и напишите URL-адрес клона как:
    клон репозитория Git_url 
  4. С другой стороны, вы можете клонировать репозиторий github с URL-адресами SSH, где сначала вам нужно сгенерировать пару ключей SSH на рабочей станции Windows, а также назначить открытый ключ своей учетной записи GitHub.

Список удаленных репозиториев

  1. Сделайте копию репозитория с GitHub для своего рабочего каталога.
  2. Убедитесь, что рабочий каталог имеет имя проекта
    «cd git_project» и замените имя проекта из загруженного репозитория.
  3. Если вышеуказанная опция не работает, вы можете просмотреть содержимое с помощью команды ls для текущего каталога, особенно для проверки точного количества написаний.
  4. Кроме того, вы можете указать удаленный репозиторий в подкаталоге как «git remote -v».
Сводка

: шаги по установке Git в Windows 10

  1. Загрузите и установите Git
  2. Интерфейс Git bash
  3. Основные команды Git
  4. Создать локальный репозиторий
  5. Подключиться к удаленному репозиторию
  6. Отправьте файл на GitHub

Станьте экспертом DevOps

Вы готовитесь к карьере в DevOps? Ознакомьтесь с магистерской программой DevOps Engineer от Simplilearn или сертификационным курсом DevOps, который устраняет разрыв между разработчиками программного обеспечения и операциями. Вы можете стать экспертом в принципах непрерывной разработки и развертывания, автоматизации управления конфигурацией, совместной работы между командами и гибкости ИТ-сервисов, используя современные инструменты DevOps, такие как Git, Docker, Jenkins, Puppet и Nagios.