2014-02-23 37 views
1

问题如下。Git不会仅在一台特定机器上同步文件

我的团队代码是bitbucket.org

我克隆的资源库我的机器上,以便它会成为本地和

git log

正确显示的所有提交,但我有一个文件只有一行代码没有出现(并且提交了修改,它存在于git log中)。

git reset --hard <sha>

哪里是与这行代码修改并不改变它提交的哈希值。

我在web界面验证了源代码,这行代码就在那里。我克隆了其他设备上的回购,并且它在那里。该问题只发生在这台机器上。

我创建了几个本地分支,并让它们跟踪远程分支,并且这个文件只是与它们不同步。

我使用这一行代码进行比较,但我不确定是否没有比这更多的错误。

我用来设置与命令在本机上未设置代理服务器:

git config --global http.proxy http://<user>:<pass>@<server>:<port>

git config --global --unset http.proxy

为了能够在那里获得通过代理限制大学工作。这与这个问题有什么共同点吗?当然,代理服务器现在不会设置。

+0

什么是您的操作系统。如果是windows,请验证在编辑器,eclipse或在工作区中运行的任何服务器中的文件是否处于打开状态。同时确认是否有案件相撞。如果你能克隆它,那里没有网络相关的问题。在退房之前;运行“git clean-xfd”清理未跟踪的文件。 – forvaidya

+0

我的操作系统是Debian Stable(3.2.51-1 i686)(不能得到它)和Ubuntu 12.04(3.5.0-45-通用i686)(那是一个)。 我也跑了你的命令,不幸的是它没有改变任何东西。感谢您的反馈。 – Marek

回答

0

确保通过运行git status确保未在本地更改此文件并确保它未列出。

然后,如果你知道行究竟是如何的样子,你应该运行,

git log -S<snippet> /path/to/file 

识别已经修改了提交,添加或删除行。 (或者,您可以简单地运行,git log /path/to/file手动查看以任何方式更改文件的所有提交。)

通过检查每个提交所做的更改来提交提交列表。例如,您可以运行git diff <commit-sha>^! -- <file>关注+/-行,即添加了哪些行以及删除了哪些行。