Работа с репозиторием
20.11.2017 - vvuri - Reading time ~2 Minutes
GIT GITLAB
Install Debian:
$ sudo apt-get install git
$ git --version
git version 1.7.10.4
Термины
- помещение (push)
- получение (pull)
Основной процесс работы с репозиторием
- GitHub - добавляем SSH key
находясь в основной папке клонируем весь образ - получаем отдельную папку
$ git clone git@git.XXXXXXXXX.gitвсе команды работают внутри
$ cd partners-installationИзменения в репозитории
$ git status => masterСоздаем новую ветку:
$ git checkout -b devdcmВнесение изменение и добавление или удаление
$ git add doc.yml $ git rm text.txtЛокальный коммит
$ git commit -m 'Add file ...'Откатится с перезаписью файлов но без удаления новых файлов
$ git reset --hard devdcmПосмотреть что менялось
$ git diffЗалить на сервер
S git push origin devdcmОбъединение с основной веткой
$ git checkout master $ git pull origin master $ git checkout dev $ git pull origin dev $ git merge master $ git push origin dev
Дополнение:
Создать новый репозиторий:
$ git init project-nameЕсли вы планируете клонировать его по ssh с удаленной машины, также скажите:
$ git config --bool core.bare trueПереключиться на другую ветку (из тех, с которыми уже работаем):
$ git checkout some_branchПросмотреть все существующие ветви:
$ git branch -a # | grep somethingУдалить бранч (после мерджа):
$ git branch -d some_branchПросто удалить бранч (тупиковая ветвь):
$ git branch -D some_branchИстория изменений:
$ git logИстория изменений в обратном порядке:
$ git log --reverseИстория конкретного файла:
$ git log file.txtАналогично предыдущему, но с просмотром сделанных изменений:
$ git log -p file.txtИстория с именами файлов и псевдографическим изображением бранчей:
$ git log --stat --graphИзменения, сделанные в заданном коммите:
$ git show d1234edf8458ce06...Посмотреть, кем в последний раз правилась каждая строка файла:
$ git blame file.txtУдалить бранч из репозитория на сервере:
$ git push origin :branch-nameОткатиться к конкретному коммиту (хэш смотрим в «git log»):
$ git reset --hard d1234edf8458ce06...
Error и их решения
$ git checkout .gitignore
$ git reset