2012-04-18 105 views
1

我刚刚帮助我的团队的开发人员修复了一个git commit,以某种方式在他的本地回购协议。你可以从下面的Git Extensions截图中看到,11小时前他做了一个提交,他认为包括了他的所有更改。他今天早上发现,虽然他的文件系统上的工作副本丢失了一堆文件。在回购看来,这些是在提交“在主人未追踪的文件”。在分支和合并之后,我把他们带回了主分支,现在事情似乎没有问题。这个git commit发生了什么?问题与“未跟踪的文件”

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

我们新来git在这里,所以欣赏协助。

Git Repo History

回答

2

“上主未跟踪文件”都没有任何承诺,即他们只在文件系统中存在,你从来没有告诉混帐跟踪它们。为了解决所有你想添加到不完整提交中的那些“git add”,然后执行“git commit --amend”(假设修改提交仍然是你当前签出的分支指向的那个) 。

+0

那么为什么这些文件没有出现在他的文件系统中,为什么我能够从本地git存储库中恢复它们呢? – techphoria414 2012-04-18 18:12:33

0

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

你将不得不回顾历史,以检查“主”分支的历史是否确实存在分歧。

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

  • 第一次提交是从不同的机器上完成,推到中央回购,但你的同事忘了拉(或以为他,而是有一个奇怪的错误信息),
  • git checkout <branch>git checkout -b <branch>有一个完全不同的含义,它可以混淆新用户 - 我花了一两个惊喜找出;)。
相关问题