2015-03-19 54 views
1

我在一个git仓库中有一个非常奇怪的行为,我不知道如何解决它。当git repo被拉时,文件中的最新更改没有同步

在3月6日的代码文件(SummitParagraphPresenter.cs)上,做了一些更改。我可以在文件夹的历史记录中看到它们,差异是正确的: Folder history

但是,如果我查看该特定文件的历史记录,则看不到该提交。 另外,如果我从存储库中获取代码,那么它会在提交之前得到代码。

另一个奇怪的是,VisualStudio TFS网页代码浏览器显示文件的完整历史记录以及对该提交进行的更改。

我该如何解决获取最新版本文件的问题?什么可能导致它出错?

谢谢

+1

你能从命令行运行git吗?尝试'git log - ',并与'git log --follow - '进行比较。 http://stackoverflow.com/questions/28990752/git-missing-commit?noredirect=1#comment46231919_28990752 – Gauthier 2015-03-19 10:26:53

+0

它们确实不同:只是'log'只显示文件历史记录中显示的提交。 'log --follow'还会显示另一个提交,我“丢失” – CodeClimber 2015-03-19 11:22:01

+0

但是,如果我理解正确,下面还会显示何时移动文件。但在这种情况下,文件从未移动,它仍然在同一个文件夹中,具有相同的文件名 – CodeClimber 2015-03-19 11:49:48

回答

0

为什么提交的文件的历史记录并没有显示可能是因为您的工具不会调用git log--follow原因。看看你是否可以设置使用--follow

我为什么的“隐藏”的修改提交的工作文件没有显示猜测:

  • 你没有最新提交签出
  • 在隐藏引入的变化提交在另一个提交中被恢复。例如在手动解决冲突时,可能会发生这种情况,而不会注意到。请参阅this。看到git log --graph --oneline --follow -- <path/to/your/file>的结果会很有趣。
+0

是的,我明白这是情况(更改由另一个提交恢复),但我希望在历史中看到谁做了合并,搞砸了一切:) 您所要求的命令行命令给出如下,只是一个更好的格式和许多彩色条:) – CodeClimber 2015-03-19 12:42:31

+0

我希望你会看到历史上的合并提交,并看看什么发生在那里。希望你会看到回复,也许会得到开发商的责任:)(它通常是自己)。 – Gauthier 2015-03-19 13:45:09

+0

浏览历史记录我发现后来的合并恢复了一些更改。但现在必须恢复提交。这种合并在历史中没有出现,这很奇怪 – CodeClimber 2015-03-19 14:44:26

相关问题