Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Клонирование
- Если используется аутентификация по ssh-ключу:
- $ git clone https://username@gitsrv/opt/git/repository.git
- Если используется аутентификация по паролю:
- $ git clone https://username:password@gitsrv/opt/git/repository.git
- Работа с ветками
- Показать все ветки:
- $ git branch
- Создать новую ветку:
- $ git branch <branch-name>
- Перейти в новую ветку:
- $ git checkout <branch-name>
- Создать новую ветку и перейти в неё:
- $ git checkout -b <branch-name>
- Удалить локальную ветку:
- $ git branch -d <branch-name>
- Удалить ветку из удаленного репозитория:
- $ git push origin --delete <branch-name>
- Работа с коммитами
- Как удалить последний коммит?
- $ git reset --soft HEAD^
- Как изменить последний коммит?
- $ git add new_file.txt
- $ git commit --amend
- Как изменить комментарий к последнему коммиту?
- $ git commit --amend
- $ git commit --amend -m "Новый комментарий"
- Как объединить несколько коммитов?
- $ git rebase -i HEAD~3
- Вместо HEAD~3 можно использовать hash коммита. Нужно передать hash того коммита, до которого нужно всё объединить (сплющить).
- Откроется редактор со списком коммитов, вверху будет самый старый коммит.
- pick 1111111 Commit 1 comment
- pick 2222222 Commit 2 comment
- pick 3333333 Commit 3 comment
- Нужно заменть pick на squash, чтобы получилось так:
- pick 1111111 Commit 1 comment
- squash 2222222 Commit 2 comment
- squash 3333333 Commit 3 comment
- Далее нужно сохранить файл и выйти. Будет снова будет открыт текстовой редактор со всеми комментариями к коммитам. Нужно отредактировать, сохранить и выйти. После этих действий коммиты будут объединены.
- Как отменить изменения в определенном файле и вернуть его в состояние, в котором он находился после последнего коммита?
- $ git checkout -- file.txt
- Как отменить все незафиксированные (незакомиченные) изменения?
- $ git checkout
- Как придержать некоторые файлы для следующего коммита?
- Допустим, вы хотите закоммитить изменения в некоторых файлах, а изменения в других файлах зафиксировать в следующем коммите. Тогда можно временно удалить их из репозитория (unstage files), а потом снова добавить.
- $ git reset HEAD file.txt
- Эта команда удалит файл из репозитория, в старых коммитах он останется. Head указывает на последний коммит в текущей ветке.
- Если не удаётся сделать push на удаленный репозиторий из-за того, что текущая версия репозитория меньше, чем на удаленном репозитории
- В этом случае можно сделать принудительный push.
- $ git push -f origin master
- Слияние веток
- Как взять из другой ветки только некоторые файлы?
- $ git checkout branchname -- path/to/file.file
- Удалённые репозитории
- Вывод на экран информации об удалённом репозитории
- $ git remote show origin
- На экран будет выведено, что-то вроде этого:
- * remote origin
- Fetch URL: git@gitsrv:/opt/git/test-project.git
- Push URL: git@gitsrv:/opt/git/test-project.git
- HEAD branch: master
- Remote branch:
- master new (next fetch will store in remotes/origin)
- Local ref configured for 'git push':
- master pushes to master (local out of date)
- Добавление удалённого репозитория
- $ git remote add origin git@gitsrv:/opt/git/test-project.git
- Удаление удалённого репозитория
- $ git remote remove origin
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement