Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.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提交中的更改在合并后消失_Git_Github_Merge_Rebase - Fatal编程技术网

文件的git提交中的更改在合并后消失

文件的git提交中的更改在合并后消失,git,github,merge,rebase,Git,Github,Merge,Rebase,我在一个专题部门发展。当时我做了一些其他的更改,这些更改已经通过github中的PR合并到develop分支中,我需要在我的feature分支中进行这些更改。所以我决定将开发分支合并到我的功能分支中。我删除了文件中的一些代码,并在功能分支中提交。将develope合并到feature分支后,我发现提交文件时删除代码的更改消失了,并且由于合并操作,删除的部分被重新添加。我想问:在什么情况下会发生这种情况?谢谢 更新: 我使用github查看历史记录。以下是一个例子: 这是功能分支中提交80d82e

我在一个专题部门发展。当时我做了一些其他的更改,这些更改已经通过github中的PR合并到develop分支中,我需要在我的feature分支中进行这些更改。所以我决定将开发分支合并到我的功能分支中。我删除了文件中的一些代码,并在功能分支中提交。将develope合并到feature分支后,我发现提交文件时删除代码的更改消失了,并且由于合并操作,删除的部分被重新添加。我想问:在什么情况下会发生这种情况?谢谢

更新:


我使用github查看历史记录。以下是一个例子:
这是功能分支中提交
80d82ee
处的
agent.go
。这是feature branch
OWL-1697
中此文件的全部内容。合并操作后,此文件的
80d82ee
更改消失。

因为您在功能分支中所做的文件更改尚未提交,合并时您可能会将其隐藏。因此,在运行合并时,这些更改被添加回

由于您在feature branch中所做的文件更改尚未提交,因此在合并时您可能会将它们隐藏起来。因此,在运行合并时,这些更改被添加回

我不建议使用GitHub查看提交和文件历史记录。(GitHub可能有一些不错和/或奇特的方式来查看这些,但作为GitHub的一个非常随意的用户,我不知道有什么。命令行工具有很多标志,尽管您必须是Git专家才能知道使用哪一个以及何时使用。)

TL;DR汇总合并出错的原因 完成以下文本后,请特别注意
git日志输出的最后几行:

* | | | | | 80d82eef [OWL-1730][common][nqm-mng] Code refactoring
* | | | | | 2438360a [OWL-1667][common][nqm-mng] From `hbs` to `nqm-mng`
| |_|/ / /  
|/| | | |   
* | | | | b598349a Merge pull request #295 from masato25/OWL-1724
在commit
2438360a
中,您添加了一些行,然后在commit
80d82eef
中,您再次将它们取出

但是,您可以通过提交
d04492d9
将相同的添加行放入:

| | * | d04492d9 [OWL-1667][common][nqm-mng] From `hbs` to `nqm-mng`
再高一点。您是在
2438360a
中添加行的同一天执行此操作的。您在
80d82eef
中取出了这些行,之后很久。。。但在另一个分支。按拓扑顺序,你把零钱放进去后,几乎马上就把它拿出来了。。。同时也将更改保留在单独的分支中。然后,您通过
e1d369d0
将它们带到另一个分支,然后将它们带到另一个分支,依此类推,直到您将它们带回到您认为已将它们带出的分支

查看提交图 如果我克隆您的存储库并使用
git log--all--decoration--oneline--graph
查看它,我会看到部分内容,其中包括commit
80d82eef
(在底部):

我们可以看到,提交实际上仍然存在,而不是被合并删除

查找影响文件的提交:
--完整历史记录
现在,您关心的文件在commit
80d82eef
中命名为
modules/nqm mng/restful/agent.go
。正如我们可以从
--decoration
otuput中看到的那样,这里的分支名称是
origin/OWL-1697
。但是,修改此特定文件的提交有点难以找到

要知道的第一个神奇之处是在将
git log
限制为路径名时使用
--full history
(我怀疑没有办法让GitHub这样做)。原因是,如果一个合并已经撤销了您想要做的事情,Git的“历史简化”(history simplification)会删除对源代码最终版本没有贡献的提交,这使得不可能找出哪个合并删除了该贡献

要知道的第二个神奇之处是,在查看合并提交时,我们可能希望
-m
使Git将合并“拆分”为两半

我还使用
--topo-order
强制Git按照拓扑合理的顺序显示提交(通常不需要,但这里通常是个好主意)

谁干了什么 此时,我们可以精确查看
80d82eef
对感兴趣的文件所做的操作:

$ git show 80d82eef -- modules/nqm-mng/restful/agent.go
commit 80d82eef9606800c094858ac0d60f27ef9ad1307
Author: chyeh <chyeh@cepave.com>
Date:   Fri May 19 11:34:09 2017 +0800

    [OWL-1730][common][nqm-mng] Code refactoring

    Move some code from `common/` to `modules/nqm-mng/` as the preparation
    of the following development.

diff --git a/modules/nqm-mng/restful/agent.go b/modules/nqm-mng/restful/agent.go
index 3ba34901..f21afd05 100644
--- a/modules/nqm-mng/restful/agent.go
+++ b/modules/nqm-mng/restful/agent.go
@@ -124,10 +124,3 @@ func clearCachedTargetsOfAgentById(
        r := commonNqmDb.DeleteCachedTargetsOfAgentById(q.AgentID)
        return mvc.JsonOutputOrNotFound(r)
 }
-
-func nqmAgentHeartbeat(
-       req *commonNqmModel.AgentHeartbeatRequest,
-) mvc.OutputBody {
-       r := commonNqmDb.AgentHeartbeat(req)
-       return mvc.JsonOutputBody(r)
-}
请注意三个额外选项(完整历史记录、合并拆分和拓扑顺序)

输出很长,因此我不会全部引用,但显示的提交是:

  • f0797f8e1e2e5a41db30225f4e72dc987b055ac8
    ,其中重新删除失败合并带来的行
  • 7e00e309f0ed5750f6b7b052e77431ec4797d601
    (相对于其第一个父级
    d2d4debd
    ),这会重新添加您不需要的行)
  • 648a324e1333814968a09e4b0277fc0774b4fce6
    (相对于其第一个父级
    447ac685
    ),这只会影响
    导入
  • ccbad82029c50040250a48180caeacfcc5704bd
    (相对于其二级父级
    da0dcde6
    ),这也会重新添加您不需要的行
  • dfa34ab98170d62e1bb6d624c2d09f9e4e7e0b57
    (相对于其二级母公司
    5571dc2c
  • 219347a6f1649ccfee8e69b481e3166d8d310fe0
    (与其第二母公司相比
    1a60e4aa
  • b11d41be75700c450280a4a5e0edb12381045303
    (与其第二个母公司相比
    28176808
  • 8f5a0e242fd7c7ded6cdcc4517c33c793b96f8ea
    (相对于其二级父级
    5178acdb
  • e1d369d06a49846f39661642bdfb7c0c81a86b8e
    (相对于其第一个母公司
    8b1d4f0f
  • d04492d986fdf1257cb93a5524f2501e767bd564
    :这是您在5月2日做出的普通承诺,其中添加了您不想要的行
  • 80D82EEF9606800C0904858AC0D60F27EF9AD1307
    :这是您在5月19日做出的普通承诺,其中删除了您不想要的行
  • 2438360a653e5c158b366f313bf771db4f294147
    :这是您在5月2日做出的普通承诺,其中添加了您不想要的行$ git show 80d82eef -- modules/nqm-mng/restful/agent.go commit 80d82eef9606800c094858ac0d60f27ef9ad1307 Author: chyeh <chyeh@cepave.com> Date: Fri May 19 11:34:09 2017 +0800 [OWL-1730][common][nqm-mng] Code refactoring Move some code from `common/` to `modules/nqm-mng/` as the preparation of the following development. diff --git a/modules/nqm-mng/restful/agent.go b/modules/nqm-mng/restful/agent.go index 3ba34901..f21afd05 100644 --- a/modules/nqm-mng/restful/agent.go +++ b/modules/nqm-mng/restful/agent.go @@ -124,10 +124,3 @@ func clearCachedTargetsOfAgentById( r := commonNqmDb.DeleteCachedTargetsOfAgentById(q.AgentID) return mvc.JsonOutputOrNotFound(r) } - -func nqmAgentHeartbeat( - req *commonNqmModel.AgentHeartbeatRequest, -) mvc.OutputBody { - r := commonNqmDb.AgentHeartbeat(req) - return mvc.JsonOutputBody(r) -}
$ git log --full-history -m -p --topo-order \
    origin/OWL-1697 -- modules/nqm-mng/restful/agent.go
$ git merge-base --all 7e00e309^1 7e00e309^2
b598349a0ba6d6901ef812440746e2dc633c4cdc
git log --decorate --oneline --graph origin/OWL-1697
git log --decorate --oneline --graph origin/OWL-1697 \
    --full-history -- modules/nqm-mng/restful/agent.go
* f0797f8e [OWL-1730][nqm-mng] Fix the proble from merge
*   7e00e309 Merge branch 'develop' into OWL-1697
|\  
| *   648a324e Merge pull request #306 from Cepave/OWL-1771
| |\  
| | * 4d722f8d [OWL-1771] Change `gin`'s import paths
| * |   447ac685 Merge branch 'roby-testing' into develop
| |\ \  
| * | | ee1daba9 Merge pull request #305 from masato25/OWL-1674_ma
| | |/  
| |/|   
| * |   ccbad820 Merge pull request #303 from masato25/OWL-1740
| |\ \  
| * \ \   69a9ee6e Merge pull request #302 from masato25/OWL-1765
| |\ \ \  
| | * \ \   9e9d1a55 Merge branch 'develop' into OWL-1765
| | |\ \ \  
| | |/ / /  
| |/| / /   
| | |/ /    
| * | |   dfa34ab9 Merge pull request #300 from masato25/OWL-1740
| |\ \ \  
| | |/ /  
| * | |   219347a6 Merge pull request #301 from masato25/OWL-1755
| |\ \ \  
| | |/ /  
| * | |   b11d41be Merge pull request #299 from masato25/OWL-1755
| |\ \ \  
| | |/ /  
| | | /   
| | |/    
| |/|     
| * |   8f5a0e24 Merge pull request #298 from humorless/OWL-1644-c
| |\ \  
| * \ \   e1d369d0 Merge pull request #286 from Cepave/OWL-1667
| |\ \ \  
| | |/ /  
| |/| |   
| | * | d04492d9 [OWL-1667][common][nqm-mng] From `hbs` to `nqm-mng`
| * | |   8b1d4f0f Merge pull request #297 from hitripod/develop
| |\ \ \  
| * | | | 05e45dc8 Merge pull request #296 from masato25/OWL-1765
| | |_|/  
| |/| |   
* | | |   a847d783 Merge branch 'OWL-1677' into OWL-1697
|\ \ \ \  
| * \ \ \   ea916618 Merge branch 'develop' into OWL-1677
| |\ \ \ \  
| | |/ / /  
| |\ \ \ \  
| | |/ / /  
| * | | |   85deb914 Merge branch 'develop' into OWL-1677
| |\ \ \ \  
* | | | | | 80d82eef [OWL-1730][common][nqm-mng] Code refactoring
* | | | | | 2438360a [OWL-1667][common][nqm-mng] From `hbs` to `nqm-mng`
| |_|/ / /  
|/| | | |   
* | | | | b598349a Merge pull request #295 from masato25/OWL-1724
| |_|/ /  
[snip]