git:git cherry 的输出在 git cherry-pick 后没有改变
git: Output of git cherry does not change after git cherry-pick
我在 git 中有两个遥控器,即“origin”和“upstream”。 origin 在某个时候从上游分叉出来,自分叉后两者都有几次提交。现在我想把 'upstream' 上发生的许多(但不是全部)提交带到 'origin'。所以我的操作顺序如下:-
1- 从远程存储库中获取所有更改并更新本地 master(我在 master 分支上):-
git fetch origin
git fetch upstream
git rebase origin/master
2- 列出本地 master 和上游 master 之间的提交差异:-
git cherry -v master upstream/master
看到之后,我看到有很多带有 (+) 符号的提交:-
+ abcdabcdabcdabcdabcdabcdabcdabcdabcd First different commit
+ 123412341234123412341234123412341234 Second different commit
+ efabefabefabefabefabefabefabefabefab Third different commit
+ 567856785678567856785678567856785678 Fourth different commit
+ a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1 Fifth different commit
3- 我有兴趣挑选第四次提交,所以我继续执行以下命令(确保我首先在分支 master 上):-
git cherry-pick 567856785678567856785678567856785678
4- 此时,我再次执行 git cherry,如步骤 2 中所列:-
git cherry -v master upstream/master
我预计输出会有所不同,因为第四次提交会有 (-)。然而,这条命令后的输出仍然是一样的:-
+ abcdabcdabcdabcdabcdabcdabcdabcdabcd First different commit
+ 123412341234123412341234123412341234 Second different commit
+ efabefabefabefabefabefabefabefabefab Third different commit
+ 567856785678567856785678567856785678 Fourth different commit
+ a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1 Fifth different commit
我仔细检查了我的 master 登录,我可以看到第四次提交已经添加。为了看到 git cherry 输出的变化,我还需要做些什么吗?我需要做什么才能正确区分 origin/master 和 upstream/master?
我在 Windows 版本 2.11.0.windows.1.
上使用 git
当 cherry-picked commit 与您的分支有冲突时会发生这种情况,因此您需要通过调整代码更改来解决它们。结果,git cherry
无法确定新提交与其发起者相同,因此它在要应用的更改列表中显示原始提交。 This post 触及描述的情况。请注意,post 并不完全准确,如下面的评论所述。
我在 git 中有两个遥控器,即“origin”和“upstream”。 origin 在某个时候从上游分叉出来,自分叉后两者都有几次提交。现在我想把 'upstream' 上发生的许多(但不是全部)提交带到 'origin'。所以我的操作顺序如下:-
1- 从远程存储库中获取所有更改并更新本地 master(我在 master 分支上):-
git fetch origin
git fetch upstream
git rebase origin/master
2- 列出本地 master 和上游 master 之间的提交差异:-
git cherry -v master upstream/master
看到之后,我看到有很多带有 (+) 符号的提交:-
+ abcdabcdabcdabcdabcdabcdabcdabcdabcd First different commit
+ 123412341234123412341234123412341234 Second different commit
+ efabefabefabefabefabefabefabefabefab Third different commit
+ 567856785678567856785678567856785678 Fourth different commit
+ a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1 Fifth different commit
3- 我有兴趣挑选第四次提交,所以我继续执行以下命令(确保我首先在分支 master 上):-
git cherry-pick 567856785678567856785678567856785678
4- 此时,我再次执行 git cherry,如步骤 2 中所列:-
git cherry -v master upstream/master
我预计输出会有所不同,因为第四次提交会有 (-)。然而,这条命令后的输出仍然是一样的:-
+ abcdabcdabcdabcdabcdabcdabcdabcdabcd First different commit
+ 123412341234123412341234123412341234 Second different commit
+ efabefabefabefabefabefabefabefabefab Third different commit
+ 567856785678567856785678567856785678 Fourth different commit
+ a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1 Fifth different commit
我仔细检查了我的 master 登录,我可以看到第四次提交已经添加。为了看到 git cherry 输出的变化,我还需要做些什么吗?我需要做什么才能正确区分 origin/master 和 upstream/master?
我在 Windows 版本 2.11.0.windows.1.
上使用 git当 cherry-picked commit 与您的分支有冲突时会发生这种情况,因此您需要通过调整代码更改来解决它们。结果,git cherry
无法确定新提交与其发起者相同,因此它在要应用的更改列表中显示原始提交。 This post 触及描述的情况。请注意,post 并不完全准确,如下面的评论所述。