У меня есть группа из двух человек, я работаю в master, в то время как другие работают над веткой dev.
Однажды, после слияния dev dev, я обнаружил, что мой партнер удалил файл по ошибке и нажал "коммит сdel "в удаленный, поэтому я заново добавляю файл в главную ветку, используя rebase -i dev
и меняю" commit with del "на" commit with no del ".
Теперь в моей основной ветке у меня есть только«совершить без дел».Все работает.
Затем я хочу исправить ветку dev для моего партнера.
Но когда я извлекаю ветку dev и сливаюсь с master, удаленный файл все еще не там, и отображаются сообщенияas
Слияние, выполненное по 'рекурсивной' стратегии.
Теперь я проверил свой журнал git, обнаружил, что оба коммита находятся в журнале веток dev, один - "commit with del"«другой - это« commit with no del », поэтому файл удаляется, а не сохраняется.
Как правильно решить эту проблему?
финальный основной журнал ветвления, чистый и красивый:
commit e1e49880fe159888e68db4c84ab82c2c5da567ca (HEAD -> master)
Author: me
Date: Fri Sep 27 11:00:52 2019 +0800
commit1
A FPMS2FUNC.cs
commit 6e47f19a595192a4c001738d76436b8d9475dab6
Author: partner
Date: Fri Sep 27 10:56:15 2019 +0800
commit with no del
M CAMS1_GEN.rst
commit 09d382f442f24783451d15f489a1df6a42aaf05f
Author: me
Date: Fri Sep 27 10:55:35 2019 +0800
init
A CAMS1_GEN.rst
A CAMS2_GEN.rst
окончательный журнал ветвления разработчика:
commit cf1acb5a649cd9015c30eed6a94bec684c56fa0e (HEAD -> dev)
Merge: f98661f e1e4988
Author: me
Date: Fri Sep 27 11:04:36 2019 +0800
Merge branch 'master' into dev
commit e1e49880fe159888e68db4c84ab82c2c5da567ca (master)
Author: me
Date: Fri Sep 27 11:00:52 2019 +0800
commit1
A FPMS2FUNC.cs
commit 6e47f19a595192a4c001738d76436b8d9475dab6
Author: partner
Date: Fri Sep 27 10:56:15 2019 +0800
commit with no del
M CAMS1_GEN.rst
commit f98661fe330a1ff20f57641581c59093c36c68ca
Author: partner
Date: Fri Sep 27 10:56:15 2019 +0800
commit with del
M CAMS1_GEN.rst
D CAMS2_GEN.rst
commit 09d382f442f24783451d15f489a1df6a42aaf05f
Author: me
Date: Fri Sep 27 10:55:35 2019 +0800
init
A CAMS1_GEN.rst
A CAMS2_GEN.rst
окончательный рефлог:
cf1acb5 (HEAD -> dev) HEAD@{0}: merge master: Merge made by the 'recursive' strategy.
f98661f HEAD@{1}: checkout: moving from master to dev
e1e4988 (master) HEAD@{2}: rebase -i (finish): returning to refs/heads/master
e1e4988 (master) HEAD@{3}: rebase -i (pick): commit1
6e47f19 HEAD@{4}: commit (amend): commit with no del
f98661f HEAD@{5}: rebase -i: fast-forward
09d382f HEAD@{6}: rebase -i (start): checkout 09d382f442f24783451d15f489a1df6a42aaf05f
01395be HEAD@{7}: rebase finished: returning to refs/heads/master
01395be HEAD@{8}: rebase: commit1
f98661f HEAD@{9}: rebase: checkout dev
bbd86ef HEAD@{10}: commit: commit1
09d382f HEAD@{11}: checkout: moving from dev to master
f98661f HEAD@{12}: commit: commit with del
09d382f HEAD@{13}: checkout: moving from master to dev
09d382f HEAD@{14}: commit (initial): init