-
Notifications
You must be signed in to change notification settings - Fork 0
Instructions for git
Инструкции по работе с git:
-
Подготовка: Windows: необходимо установить git для виндовс, не забудьте указать нормальный текстовый редактор при установке, а то придется пользоваться vi.
-
Получение репозитория
-
Способ 1: перейти в папку, в которой будет располагаться папка репозитория. Открыть консоль git. ввести
git clone https://github.com/Rexarrior/ALT
Перейти в созданную папку ALT, это папка нашего репозитория. Можно работать дальше -
Способ 2: создать папку для репозитория, перейти в нее, открыть консоль git. Ввести
git init
git remote add origin https://github.com/Rexarrior/ALT
git fetch origin
Можно работать дальше
-
-
Ветки
В нашем репозитории используется следующая политика веток: В master помещаются только законченные итерации, в ветке итерации ведутся работы в рамках текущей итерации. Ветка итерации имеет следующий паттерн имени *Iteration. Ветка master и ветки итераций являются защищенными. Вносить изменения напрямую в эти ветки запрещено. Чтобы поместить Ваши изменения в ветку итерации, необходимо создать pull request из ветки, в которой Ваши изменения находятся, и дождаться ревью как минимум одного члена команды. Чтобы поместить какие-либо изменения в master, необходимо ревью и, соответственно, согласие, всех членов команды.
- Посмотреть ветки, которые есть в Вашем репозитории:
git branch
- Создать новую ветку
git branch branchName
- Перейти в новую ветку
git checkout branchName
- Создать ветку и перейти в нее
git checkout -b branchName
- Посмотреть ветки, которые есть в Вашем репозитории:
-
Коммиты и файлы
Файлы для гита делятся на следующие категории:
- Невидимые - файлы, которые попадают под описанные в .gitignore паттерны. Для git они не существуют.
- Неотслеживаемые - файлы, которые гит видит, но за которыми не следит. Никак не влияют на работу git, но мозолят глаза при вызове git status.
- Отслеживаемые - файлы, за которыми гит следит. Они, в свою очередь, делятся на
- up-to-date или не измененные файлы - файлы, последняя версия которых уже была закоммичена в репозиторий.
- измененные, не отмеченные файлы. Файлы, которые были изменены со времен последнего коммита, но не отмечены для следующего командой
git add
. Желательно делать коммит перед любым взаимодействием с репозиторием в целом, т.к. наличие измененных файлов может помешать многим командам, в частности, git checkout. - измененные, отмеченные - файлы, которые были изменены со времен последнего коммита и уже отмечены для следующего командой
git add
Команды:
- Добавить файл в репозиторий (не отслеживаемый -> отслеживаемый, измененный, отмеченный), отметить измененный файл для коммита (отслеживаемые, измененные, не отмеченные -> отслеживаемые, измененные, отмеченные)
git add filename
, возможно так же добавить несколько файлов сразуgit add pattern
- Удалить файл из репозитория (отслеживаемый -> не отслеживаемый)
git rm --cached filename
- Отменить изменения в файле (отслеживаемый, измененный -> отслеживаемый, не измененный)
git checkout filename
- Сделать коммит для все отмеченных к коммиту изменений
git commit
В открывшемся редакторе необходимо будет написать сопроводительное сообщение. - Сделать коммит для всех изменений (в том числе, не отмеченных для коммита) 'git commit -a' В открывшемся редакторе необходимо будет написать сопроводительное сообщение.
- "спрятать" от коммита текущее состояние. Используется для того, чтобы переключиться в другую ветку, не проводя коммита текущих изменений. Читать больше
git stash
*Взаимодействие с удаленным репозиторием:
- Сохранить адрес удаленного репозитория под именем.
git remote add repName url
- Получить изменения из удаленного репозитория
git fetch repName
. В случае, если установлен origin, можно сделатьgit fetch
- Получить изменения для текущей ветки из конкретной ветки удаленного репозитория
git pull repName branchName
В случае, если для ветки установлен upstream, можно сделатьgit pull
- Отправить изменения текущей ветки в удаленные репозиторий:
- Один раз:
git push repName branchName
- В первый раз, с установкой upstream
git push --set-upstream repName branchName
- Очередной раз, когда уже установлен upstream
git push
- Один раз: