Шпаргалки
December 28, 2020

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)

Например на порту 12345

Открываем файл: ~/.ssh/config, если файла нет - создаем его

Host git.site.ru
HostName git.site.ru
Port 12345
User git

Сохраняете

Готово