【问题标题】:Others changes in git diffgit diff 中的其他更改
【发布时间】:2015-11-15 09:09:02
【问题描述】:
  1. 我在本地分支机构工作。我进行了更改并提交了它们。

  2. 现在,我做了一个 git pull(在设置上游之后)然后 git rebase -i。

  3. 现在,如果我看到 git diff HEAD^,除了我对文件所做的更改之外,我还会看到文件中的一些其他更改。我认为这些更改已经被某人推送(因为如果我将文件复制到其他地方并执行 git checkout 并粘贴我的文件,那么我只会在 git diff 中看到我的更改)

所以,现在如果我执行 git push,这些更改将作为我提交的一部分。

有人可以帮我删除这些更改,以便 git diff 只显示我的更改而不进行复制和结帐吗?

【问题讨论】:

  • 你的拉动策略是什么?是合并还是变基?
  • 它使用了 git 合并。我不知道拉动时可以变基。我合并然后变基。
  • 可以通过git pull --rebase在拉动时变基。我相信你不确定变基是如何工作的,q.v.我的回复如下。

标签: git git-branch rebase


【解决方案1】:

您所观察到的是执行git rebase 时应该预期的结果。让我们假设远程和本地分支开始时是这样的:

remote: A -- B -- C
              \
local:         D

接下来,您对本地分支进行了新的提交,使图表看起来像这样:

remote: A -- B -- C
              \
local:         D -- E

当您在远程分支上执行git rebase -i 时,您从远程引入了C 提交。这是该图在 变基后的样子:

remote: A -- B -- C
                   \
local:              D' -- E'

您担心的更改来自C 提交,并且在远程已经。仔细看,你会发现这个本地分支现在可以快进远程了。

所以你不必担心这些神秘的变化会出现。它们可能是由你的同事做出的,它们已经是远程分支的一部分。

【讨论】:

    猜你喜欢
    • 2015-12-22
    • 2012-04-27
    • 2011-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多