Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git通过rebase选择性地执行mege,但旧的提交在下一个rebase上仍显示为未合并_Git_Github - Fatal编程技术网

Git通过rebase选择性地执行mege,但旧的提交在下一个rebase上仍显示为未合并

Git通过rebase选择性地执行mege,但旧的提交在下一个rebase上仍显示为未合并,git,github,Git,Github,以下是场景: 我有一个发展分部和一个硕士分部。有一些关于开发的签入我不想合并到master中,所以我按照这里的说明有选择地从开发中合并(通过rebase): 开发比master提前了很多次提交,在重新基础期间,有几个提交(例如a、B、C)导致了冲突,我解决并提交了冲突 现在,每次我尝试进行另一次选择性合并或合并开发中的所有内容时,都会出现相同的提交(A、B、C) 有没有一种方法可以让这些提交在合并过程中不出现,因为我已经解决了冲突并将它们合并到master中了 (注意,我已经尝试挑选这些提交,

以下是场景:

我有一个发展分部和一个硕士分部。有一些关于开发的签入我不想合并到master中,所以我按照这里的说明有选择地从开发中合并(通过rebase):

开发比master提前了很多次提交,在重新基础期间,有几个提交(例如a、B、C)导致了冲突,我解决并提交了冲突

现在,每次我尝试进行另一次选择性合并或合并开发中的所有内容时,都会出现相同的提交(A、B、C)

有没有一种方法可以让这些提交在合并过程中不出现,因为我已经解决了冲突并将它们合并到master中了


(注意,我已经尝试挑选这些提交,并再次将它们合并。解决冲突后,git显示没有任何要提交的内容,因为我已经在第一次解决并将它们提交给master-奇怪…)

您可以在开发时的最后一次重新基址后创建标记,例如,最后一次重新基址。然后,在下一个重基中,您可以使用:

git rebase -i last_rebase --onto master
在master上成功提交后,您可以使用

git tag -f last_rebase

因此,在下一次提交时,只显示新的提交。

好的,这将有助于重新基址,但假设我想做:
git merge development
那些旧的提交不会再次出现吗?是的,合并和重新基址是两件不同的事情。如果您希望避免来自开发的某些提交被合并,那么可以创建一个虚拟的合并提交,并使用“git merge-s ours development”。然后,在下一次合并中,只合并来自开发的新提交。