这个git提交发生了什么? “未跟踪文件”的问题

时间:2012-04-18 15:47:23

标签: git git-extensions

我刚刚帮助我的团队中的开发人员修复了一个git提交,该提交以某种方式在他的本地仓库中被提取。您可以从下面的Git Extensions截图中看到,11个小时前他做了一个提交,他认为包含了他所有的更改。他今天早上发现虽然他的文件系统上的工作副本中遗漏了一堆文件。在回购中看,这些是在提交“主要的未跟踪文件”。经过一些分支和合并之后,我把它们带回了主分支,现在看起来很好。

关于他在提交创建此场景期间发生的事情的任何想法?这些文件不在.gitignore中 - 您在下面看到的.gitignore签名是尝试忽略silverstripe-cache文件夹内容。

我们很高兴来到这里,所以感谢你的帮助。

Git Repo History

2 个答案:

答案 0 :(得分:2)

“master上未跟踪的文件”不在任何提交中,即它们只存在于您的文件系统中,并且您从未告诉git跟踪它们。为了修复那些你想要添加到不完整提交的那些“git add”,然后执行“git commit --amend”(假设提交被修改仍然是你当前检出的分支指向的那个)

答案 1 :(得分:0)

从分支的外观(提交消息的左边的点和行),看起来提交“master上未跟踪的文件”不是在与其他提交相同的分支上进行的。

您需要在历史记录中进一步查看是否确实在“主”分支的历史记录中存在分叉。

盲目猜测这是如何发生的:

  • 第一次提交是从另一台机器完成的,推送到中央仓库,但你的同事忘了拉(或者认为他有,但有一个奇怪的错误信息),
  • git checkout <branch>git checkout -b <branch>具有完全不同的含义,它可能会让新用户感到困惑 - 我花了一两个惊喜才发现;)。