在使用git时,对分支的修改同时影响了master

时间:2014-10-21 03:31:08

标签: git

当我今天早上使用git时,我发现我同时对本地分支影响的本地主分支所做的任何修改,似乎两个本地分支是相同的。现在我无能为力,因为我所做的任何事都会修改当地的主分支,任何人都可以帮我解决这个问题,非常感谢。

当地分公司中央仓库的现状: enter image description here

本地分支主机的当前状态: enter image description here

看起来完全一样。如果我撤消添加文件,两个分支的状态将同时改变: enter image description here

enter image description here

真奇怪!!!

并接受了merlin2011的建议,我已经显示了所有分支的链接信息如下:

enter image description here   恐怕没什么特别的表现。还有其他建议吗?

2 个答案:

答案 0 :(得分:0)

这是纯粹的推测,但所描述的行为可能来自以下几种可能性。

  1. 其中一个分支符号链接到另一个分支,因此.git/refs/heads下的一个文件的更新会反映在另一个文件中。
  2. 在后台运行的某个脚本让它们保持同步(某些同事正在玩恶作剧。)
  3. 要调查前者,更加良性的可能性,请进入您的目录,然后ls -l .git/refs/heads。看看其中一个分支是否是指向另一个分支的符号链接。

    如果是这种情况,您可以首先手动删除符号链接,然后使用git checkout -b BranchName中的master重新创建,或者只复制{{ 1}}再次命名。

答案 1 :(得分:0)

您似乎很难理解git是如何工作的。

在git中,更改不会绑定到特定分支。这意味着,只要您不进行git commit这些更改将保留在您的工作树中(您工作的地方和所有已检出的文件)。

在我看来,一个简单的git commit足以解决你的困惑;这将通过git add将您记录的所有更改记录到索引中,并创建提交,现在绑定到分支。
显然,您必须在要将更改记录到的分支上执行此命令。

为了更好地了解您如何准确记录git中的更改,请查看相应的章节Git Basics - Recording Changes to the Repository

相关问题