GIT шпаргалка по командам
Инициализация существующей папки как нового репозитория
cd existing_folder git init git remote add origin {url} git add . git commit -m "Initial commit" git push -u origin master
{url} - ссылка до репозитория, куда вы собираетесь отправлять изменения
Операции с репозиториями
Посмотреть текущий адрес origin:
git remote get-url origin
Установить новый внешний git как тот, куда надо делать git push:
git remote set-url origin {полный адрес до репозитория}
Операции с ветками
Посмотреть какие ветки есть (сейчас локально):
git branch -r
Вывести список удалённых веток с помощью флага:
git branch -a
Задача: Вот у вас сервер, висит и обновляется с ветки dev, а теперь надо его перевести на ветку master, например.
Что значит "висит на ветке dev":
Когда мы спрашивает: git status Консоль нам отвечает: On branch dev Your branch is up to date with 'origin/dev'.
Как теперь делать, чтобы оказалось, что он смотрит на master:
git fetch git checkout master
Готово, можно делать git pull, чтобы забрать последние изменения.
Если друг случайно смерджил не то или не туда. Откатиться на "как было":
git reset --hard ORIG_HEAD
Если нужно вернуть HEAD на последний commit на ветке
git fetch --prune origin git reset --hard origin/ветка git clean -f -d
Операции с файлами
Удалить файл из отслеживаемых, но не удалять его с диска:
git rm --cached <назване файла>
Добавить файл в отслеживаемые, несмотря на .gitignore
git add --force my/ignore/file.foo
Удалить локальные файлы, которые еще не трекаются git
Пример: Мы закачали в проект файлы картинок и НЕ собираемся их добавлять в git, просто они нужны были для теста и сейчас больше не нужны.
git clean -n -d
покажет список файлов для удаление
git clean -f
git clean -fd
Работа с тегами
git tag
git tag --delete {tag}
Если GIT висит на нестандартном порту (SSH)
Открываем файл: ~/.ssh/config, если файла нет - создаем его
Host git.site.ru HostName git.site.ru Port 12345 User git