Estou rebaseando no git, e um conflito que recebo é 'ambos adicionados' - ou seja, exatamente o mesmo nome de arquivo foi adicionado independentemente em minha ramificação e na ramificação em que estou rebaixando. git status
diga-me:
# Unmerged paths:
# (use "git reset HEAD <file>..." to unstage)
# (use "git add/rm <file>..." as appropriate to mark resolution)
#
# both added: src/MyFile.cs
Minha pergunta é: como faço para resolver isso? Devo usar uma ferramenta de mesclagem ou existe uma maneira de fazê-lo apenas na linha de comando? Se eu git rm src/MyFile.cs
, como o git sabe qual versão do arquivo eu quero remover e qual quero manter?
git checkout --ours someFile
Pode parecer que não fez nada ao fazer o status git. Lembre-se de fazer isso depois.git add someFile
git status
Às vezes, acho confuso usar as opções
--theirs
e--ours
para identificar de onde o arquivo virá. Na maioria das vezes, o meu estará no ramo que estou refazendo ao qual é referido--theirs
!Você também pode usar
git checkout <tree-ish> -- src/MyFile.cs
Onde
<tree-ish>
pode ser substituído pelo nome da filial ou pelo commit-id que contém o arquivo que você deseja manter.git checkout 6a363d8 -- src/MyFile.cs
git checkout my_branch -- src/MyFile.cs
git checkout HEAD -- src/MyFile.cs
fonte
Ao fazer ...
git checkout --ours someFile
Pode parecer que não fez nada ao fazer o status git.
Lembre-se de fazer isso depois.
fonte