【问题标题】:GIT - Issue with cherry-pick (File changed not reflecting after merged in GitHub)GIT - 樱桃挑选问题(文件更改后未反映在 GitHub 中合并)
【发布时间】:2014-04-09 14:17:16
【问题描述】:

我在将我的 development 分支代码合并到 ma​​ster 时遇到了一些冲突,并决定创建一个集成分支。我做了 cherry-pick 从开发分支到集成分支的所有必需提交。

现在,当我将更改提交到集成分支时,它会将所有合并的(使用cherry-pick)视为新提交。我对此很好。但是在合并之后,当我比较 developmentIntegration 分支时,File changed 的差异是相同的。

有没有人遇到过类似的问题。谢谢

这是我在该场景中执行的步骤,我在本地开发分支中创建了一个文件,然后切换到集成分支并使用cherry-picked 合并开发分支中的提交。本地分支 git diff 集成...开发后没有显示任何差异,这很好...但是在 github 上,当我比较开发和集成分支时,文件更改仍然显示。当有很多我挑选的提交时,我发现很难看到哪些提交被挑选了。

git status
# On branch master
nothing to commit, working directory clean

git checkout -b development
Switched to a new branch 'development'

git diff master..development
vim test_cherry_pick.txt

git status
# On branch development
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   test_cherry_pick.txt
nothing added to commit but untracked files present (use "git add" to track)

git add test_cherry_pick.txt
git commit
[development 0b88adc] Added temp file to test cherry_pick
1 file changed, 1 insertion(+)
create mode 100644 test_cherry_pick.txt

git diff master..development
diff --git a/test_cherry_pick.txt b/test_cherry_pick.txt
new file mode 100644
index 0000000..d7b8e14
--- /dev/null
+++ b/test_cherry_pick.txt
@@ -0,0 +1 @@
+This file is to test cherry_pick

git checkout master
Switched to branch 'master'

git checkout -b integration
Switched to a new branch 'integration'

git diff master..integration

git cherry-pick 0b88ad
[integration 297e93b] Added temp file to test cherry_pick
1 file changed, 1 insertion(+)
create mode 100644 test_cherry_pick.txt

git diff development..integration

注意:我使用 GitHub GUI 工具将集成和开发分支发布到 origin。

【问题讨论】:

  • 您能否在类似于git merge --helpgit rebase --help 中使用的提交图上描述这种情况?您可以为此使用git log --graph
  • 请显示一对提交,您认为原始文件和精选文件的差异不应该相同。 Cherry-picking 应该应用相同的更改,所以很难在这里看到你在问什么。
  • 你能看看我更新的问题吗?我试图为这个问题创建一个场景。本地分支显示没有差异(好),但是在 github 源中比较时仍然显示差异。

标签: git github merge


【解决方案1】:

当樱桃采摘 git 不理解提交实际上是相同的。看来 Github Compare 会执行 git request-pull ,显示精心挑选的提交与具有新 ID 的“相同”提交不同。

【讨论】:

    猜你喜欢
    • 2017-02-26
    • 2013-01-07
    • 2018-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多