Подтвердить что ты не робот

Git: как создать разные несвязанные состояния?

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

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

4b9b3361

Ответ 1

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

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")