Git: как создавать разные незапутанные состояния? - PullRequest
12 голосов
/ 11 июня 2010

Когда возникают различные git status неотложные состояния, например added by us, added by them или both deleted?

Я попытался воспроизвести последний, выполнив слияние, при котором файл был удален в текущей и слитой ветке, но мне не удалось создать этот статус.

1 Ответ

17 голосов
/ 22 июля 2010

Вы можете получить все три, переименовав файл по-разному в каждой ветви.

git init
touch foo
git add foo
git commit -m 'initial commit'
git checkout -b tmp
git mv foo X
git commit -m 'rename to X'
git checkout -
git mv foo Y
git commit -m 'rename to Y'
git merge tmp

Теперь у вас есть все три состояния.

$ git status
# On branch master
# Unmerged paths:
#   (use "git add/rm ..." as appropriate to mark resolution)
#
#       added by them:      X
#       added by us:        Y
#       both deleted:       foo
#
no changes added to commit (use "git add" and/or "git commit -a")
...