Giter

Материал из ALT Linux Wiki
Версия от 14:31, 19 июля 2015; Petr-akhlamov (обсуждение | вклад)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Из описания Giter

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.

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

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

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

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

Прочее

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

git config --local merge.ff only