-
Notifications
You must be signed in to change notification settings - Fork 0
Git
Git — это система контроля версий.
-
Качаем и устанавливаем git: https://git-for-windows.github.io/
-
Производим первоначальную настройку
-
Применяем хорошую :-) конфигурацию
-
Выбираем Notepad++ в качестве редактора для git
-
Для 32-битных систем:
git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
-
Для 64-битных систем:
git config --global core.editor "'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
git remote add <название репозитория> <адрес репозитория>
git remote add urfu https://github.com/UrFU-Programming/IsitMessenger.git
Теперь для того, чтобы принять изменения из urfu, можете сделать:
git pull --rebase urfu master
Для записи изменений:
git push urfu master:master
То есть, для дополнительных репозиториев нужно указывать ветки. Главная ветка (обычно, по-умолчанию) называется master.
При записи изменений вы можете указать, что хотите записать изменения из определённой локальной ветки в определённую удалённую. Для этого используется конструкция <локальная ветка>:<удалённая ветка>
. В качестве ветки можно указывать определённые коммиты по их hash-id.
git config --global alias.co checkout
git config --global alias.st status
git config --global alias.cp cherry-pick
git config --global alias.fpush "push --force"
git config --global alias.rcon "rebase --continue"
git config --global help.autocorrect 1
git config --global diff.indentheuristic true
git config --global diff.algorithm histogram
git config --global rebase.stat true
git config --global push.default simple
git config --global push.followtags true
git config --global rebase.autostash true
git config --global rerere.enabled true
git reset --hard <commit-ish>
- Одиночная ревизия (полная или сокращённая)
- 734713bc047d87bf7eac9674765ae793478c50d3
- 734713
- Ссылка на ветку (локальную или удалённую)
master
origin/master
- Метка (локальная или удалённая)
v1.2
refs/tags/v1.2-alpha1
- Именованный коммит
-
HEAD
(текущий коммит в рабочей директории) -
FETCH_HEAD
(последний известный коммит, полученный с помощью git fetch или git pull) ORIG_HEAD
-
CHERRY_PICK_HEAD
(коммит, который в данный момент применяется командой cherry-pick)
-
- Ссылка на родителя
- <commit>^ (родитель коммита ''commit'')
- <commit>^2 (второй родитель коммита ''commit''; ''commit'' должен быть коммитом слияния)
- <commit>^^^ (родитель родителя родителя)
- <commit>~10 (десятый предок коммита ''commit'')
- Конкретные примеры:
HEAD^
HEAD^2
HEAD^^^
master~10
origin/dev~5
- RefLog сокращение (что-то из истории HEAD)
-
HEAD@{5}
(HEAD, который был пять действий назад) -
master@{yesterday}
(последний на вчерашний день коммит в ветку master) HEAD@{2.months.ago}
-
- Ссылка на коммит по описанию
-
":/#123"
(последний коммит с упоминанием с задачи 123) -
:/^Fix
(последний коммит, в описании которого есть строка, начинающаяся с Fix)
-
- См.
git help revisions