Skip to content

Latest commit

 

History

History
78 lines (60 loc) · 2.79 KB

Git.md

File metadata and controls

78 lines (60 loc) · 2.79 KB

Git

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

В папке с кодом:

git init
git add .
git commit -m "initial commit"
git remote add origin [email protected]:username/repo
git push origin master

Алгоритм добавления коммита

Посмотреть, какие файлы изменены

git status

Добавить измененные файлы в коммит

git add path/to/file.ext # один измененный файл
git add path/to/dir      # измененные файлы в директории
git add .                # все измененные файлы

Проверить, какие изменения будут сделаны

(Откроется листинг с прокруткой по стрелкам, для выхода нужно нажать q). Этот шаг не обязателен, но полезен, чтобы не добавить чего-нибудь лишнего.

git diff --staged

Сделать коммит и отправить его в удаленный репозиторий (GitHub)

git commit -m "commit message"
git push

Если в удаленном репозитории есть коммиты, которых нет в локальной копии (при совместной работе), нужно запустить git pull --rebase, чтобы применить локальные коммиты к удаленным, и еще раз сделать git push.

Если через git add были добавлены лишние файлы

git reset              # убрать все файлы
git reset path/to/file # убрать один

Файлы останутся измененными, но в коммит не попадут.

Я сделал неудачный коммит, но не сделал git push

git reset --soft HEAD~1

Файлы останутся измененными, но коммит пропадет из локальной истории.

Для просмотра локальной истории можно использовать команду git log.

Я сделал неудачный коммит и запушил его

git log --graph --decorate --oneline # смотрим SHA-1 id нашего неудачного коммита
(обычно 7 символов)
git revert SHA-1 # удаляем изменения неудавшегося коммита
git push origin master # push`им изменения

Я добавил новый файл в .gitignore, но он уже есть в репозитории, как мне удалить его оттуда?

git rm -r --cached . 
git add . 
git commit -m "Removing all files in .gitignore"