После редактирования коммита rebase, как применить его к исходной ветке? - PullRequest
2 голосов
/ 26 сентября 2019

У меня есть группа из двух человек, я работаю в 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...