Skip to content

Instructions for git

Oleg Navolotsky edited this page Oct 9, 2018 · 2 revisions

Инструкции по работе с 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