30 команд Git, необходимых для освоения интерфейса командной строки Git / Хабр
Git — самая популярная в мире распределённая система контроля версий. Линус Торвальдс, разработчик ядра ОС Linux, создал этот инструмент ещё в 2005 году, а сегодня Git активно поддерживается как проект с открытым исходным кодом. Огромное количество открытых и коммерческих проектов используют Git для контроля версий.
В данной статье перечисляются самые основные команды, которые следует знать разработчику, чтобы освоить управление репозиториями GitHub на высоком уровне. Ознакомиться с ними будет полезно как новичкам, так и опытным разработчикам.
30 основных команд, которые сделают из вас мастера Git
- Как задать имя пользователя и адрес электронной почты
- Кэширование учётных данных
- Инициализация репозитория
- Добавление отдельных файлов или всех файлов в область подготовленных файлов
- Проверка статуса репозитория
- Внесение изменений однострочным сообщением или через редактор
- Просмотр заданного коммита
- Просмотр изменений до коммита
- Удаление отслеживаемых файлов из текущего рабочего дерева
- Переименование файлов
- Отмена подготовленных и неподготовленных изменений
- Изменение последнего коммита
- Откат последнего коммита
- Откат заданного коммита
- Создание новой ветки и переход в неё
- Просмотр списка веток
- Удаление ветки
- Слияние двух веток
- Отображение журнала фиксации в виде графика для текущей или всех веток
- Прекращение слияния при конфликте
- Добавление удалённого репозитория
- Просмотр удалённых URL-адресов
- Получение дополнительных сведений об удалённом репозитории
- Отправка изменений в удалённый репозиторий
- Получение изменений из удалённого репозитория
- Слияние удалённого репозитория с локальным
- Отправка новой ветки в удалённый репозиторий
- Удаление удалённой ветки
- Использование перебазирования
1.
Как задать имя пользователя и адрес электронной почты
Имя пользователя нужно, чтобы привязывать коммиты к вашему имени. Это не то же самое, что имя пользователя учётной записи GitHub, с помощью которого выполняется вход в профиль на GitHub. Задать или изменить имя пользователя можно с помощью команды
. Новое имя будет автоматически отображаться в последующих коммитах, отправленных на 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. Проверка статуса репозитория
Просмотреть статус нужного репозитория можно по ключевому слову
: его действие распространяется на подготовленные, неподготовленные и неотслеживаемые файлы.
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
. Для проведения операции требуется указать путь к файлу. Если путь не указан, параметр
изменит указатель 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
- Как задать имя пользователя и адрес электронной почты
- Кэширование учётных данных
- Инициализация репозитория
- Добавление отдельных файлов или всех файлов в область подготовленных файлов
- Проверка статуса репозитория
- Внесение изменений однострочным сообщением или через редактор
- Просмотр истории коммитов с изменениями
- Просмотр заданного коммита
- Просмотр изменений до коммита
- Удаление отслеживаемых файлов из текущего рабочего дерева
- Переименование файлов
- Отмена подготовленных и неподготовленных изменений
- Изменение последнего коммита
- Откат последнего коммита
- Откат заданного коммита
- Создание новой ветки и переход в неё
- Просмотр списка веток
- Удаление ветки
- Слияние двух веток
- Отображение журнала фиксации в виде графика для текущей или всех веток
- Прекращение слияния при конфликте
- Добавление удалённого репозитория
- Просмотр удалённых URL-адресов
- Получение дополнительных сведений об удалённом репозитории
- Отправка изменений в удалённый репозиторий
- Получение изменений из удалённого репозитория
- Слияние удалённого репозитория с локальным
- Отправка новой ветки в удалённый репозиторий
- Удаление удалённой ветки
- Использование перебазирования
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» в этот репозиторий.
Дополнительные параметры настройки
- Этот параметр позволяет пользователям добавлять дополнительные элементы, такие как символические ссылки для командных строк. Тем не менее, всегда следует предпочитать параметры по умолчанию для ярлыков или более.
- Доступны некоторые экспериментальные параметры, такие как поддержка псевдоуправления или встроенный монитор файловой системы для установленной версии Git.
Как запустить Git в Windows?
Есть два способа запустить git в Windows. Один запускает git с помощью оболочки сценариев bash с помощью командной строки, а другой запускает git с помощью графического пользовательского интерфейса.
- Чтобы запустить git через оболочку сценариев bash,
Сначала откройте окно, найдите git bash и откройте его. - Чтобы запустить git через графический интерфейс пользователя (GUI), аналогичным образом, сначала откройте окно и выполните поиск git GUI, щелкните значок приложения и откройте его.
Настройка учетных данных GitHub
Вы можете настроить локальную установку GitHub с учетными данными, используя следующие команды. Кроме того, не забудьте добавить свои собственные учетные данные GitHub для имени пользователя и адреса электронной почты.
- git config –global user.n
ame «github_username» - git config –global user. e
почта «email_address»
Клонировать репозиторий GitHub
- Первоначально вам нужно щелкнуть репозиторий параметров на GitHub.
- Затем в правом верхнем углу выберите вариант клонирования или загрузки, где появится небольшой раскрывающийся список с URL-адресом для клонирования через HTTPS.
- Затем войдите в свои окна Powershell и напишите URL-адрес клона как:
клон репозитория Git_url - С другой стороны, вы можете клонировать репозиторий github с URL-адресами SSH, где сначала вам нужно сгенерировать пару ключей SSH на рабочей станции Windows, а также назначить открытый ключ своей учетной записи GitHub.
Список удаленных репозиториев
- Сделайте копию репозитория с GitHub для своего рабочего каталога.
- Убедитесь, что рабочий каталог имеет имя проекта
«cd git_project» и замените имя проекта из загруженного репозитория. - Если вышеуказанная опция не работает, вы можете просмотреть содержимое с помощью команды ls для текущего каталога, особенно для проверки точного количества написаний.
- Кроме того, вы можете указать удаленный репозиторий в подкаталоге как «git remote -v».
: шаги по установке Git в Windows 10
- Загрузите и установите Git
- Интерфейс Git bash
- Основные команды Git
- Создать локальный репозиторий
- Подключиться к удаленному репозиторию
- Отправьте файл на GitHub
Станьте экспертом DevOps
Вы готовитесь к карьере в DevOps? Ознакомьтесь с магистерской программой DevOps Engineer от Simplilearn или сертификационным курсом DevOps, который устраняет разрыв между разработчиками программного обеспечения и операциями. Вы можете стать экспертом в принципах непрерывной разработки и развертывания, автоматизации управления конфигурацией, совместной работы между командами и гибкости ИТ-сервисов, используя современные инструменты DevOps, такие как Git, Docker, Jenkins, Puppet и Nagios.