Из сценария: посмотрите, если "$(git rev-parse --git-dir)"/MERGE_HEAD
существует (это как __git_ps1
).
Вручную, я предоставляю статус статуса репо в своем приглашении.
__git_ps1
имеет очень полезные функции. Помимо отображения вашей текущей ветви, статуса, статуса индекса, статуса удаленной отслеживания в командной строке, он сообщает вам, если вы продолжаете слияние.
Вы можете найти инструкцию there.
Короче говоря, download git-prompt.sh, положить его в PATH
, источник его в вашем ~/.bashrc
, используйте __git_ps1
в вашем PS1
в ~/.bashrc
.
Прочтите комментарий вверху git-prompt.sh для получения дополнительных функций.
Пример:
[email protected]:~/tmp/sigrt_val (master *) $
(показывает текущую ветвь master
, и что у меня есть локальные изменения *
)
Еще один пример с конфликтующим слияния:
[email protected]:~/tmp/sigrt_val (two) $ git merge one
Auto-merging test.c
CONFLICT (content): Merge conflict in test.c
Automatic merge failed; fix conflicts and then commit the result.
[email protected]:~/tmp/sigrt_val (two *+|MERGING) $
(*
для локального изменения, +
для поэтажных файлов, |MERGING
для в настоящее время незавершенного меня rge)
спасибо. Я смотрю, существует ли .git/MERGE_HEAD. – nuggets
@nuggets, пожалуйста, считайте это принятым ответом, в этом случае. – Gauthier