В папке с кодом:
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 reset --soft HEAD~1
Файлы останутся измененными, но коммит пропадет из локальной истории.
Для просмотра локальной истории можно использовать команду git log
.
git log --graph --decorate --oneline # смотрим SHA-1 id нашего неудачного коммита
(обычно 7 символов)
git revert SHA-1 # удаляем изменения неудавшегося коммита
git push origin master # push`им изменения
git rm -r --cached .
git add .
git commit -m "Removing all files in .gitignore"