Giter

Материал из Etersoft wiki
Перейти к: навигация, поиск

giter — набор команд, упрощающих повседневную работу с репозиторием.

Отличительной особенностью всех команд является то, что их можно и нужно использовать без параметров, они будут стараться выполнить то, что вам нужно.

Все эти команды при выполнении выводят то, что они на самом деле запускают для выполнения действия.

Не забывайте использовать справку: $ команда --help

Работа с удалённым репозиторием

$ gremote — посмотреть список удалённых репозиториев (аналог git remote -v)

$ gpush — опубликовать изменения на удалённом репозитории

У gpush есть отдельное поведение для удалённых репозиториев, псевдонимы которых начинаются с «git.», например, git.alt, git.github и т.п. Если таких репозиториев несколько, публикация будет происходить во все репозитории.

$ gpull — получить изменения из удалённого репозитория

Важно то, что gpull по умолчанию вызывает git pull --ff-only, то есть не даёт создаваться мержам. Если наткнулись на ситуацию, когда обновление не происходит, потому что у вас тоже есть новый коммит, используйте gpull -r (git pull --rebase).


Работа с репозиторием

$ gamend [файл] — выполнить git amend [файл] без вопросов о редактировании комментария

$ grebase — чуть более понятый запуск git rebase -i HEAD^N, который задаёт вопрос о коммите, с которого делать rebase.

Применения набора коммитов из другой ветки

$ gpick [файл] — начать применения к текущей ветке коммитов (то есть выполнение git cherry pick), перечисленных в указанном файле. Файл обычно получается путём вызова git log и копирования из него нужной части лога.

Если при применении очередного коммита возникает конфликт, то после его исправления можно запустить gpick для продолжения применения коммитов, или, при его ненужности, вызвать gpick --skip.

Примеры использования

1. Если вы вносите исправления, которые должны добавиться к последнему уже сделанному коммиту, просто запустите gamend (возможно, указав файл) после изменений файла.

2. Если вам нужно публиковать ваш репозиторий сразу в несколько удалённых, сделайте псевдонимы к ним начинающимися с git.

3. Всегда используйте gpull при получении изменений из удалённого репозитория. Это позволит избежать ненужных merge.

Прочее

$ ginit — создать удалённый репозиторий (работает только при использовании girar)

git config --local merge.ff only

Репозиторий