Git不会仅在一台特定的计算机上同步文件

时间:2014-02-23 11:29:19

标签: git proxy git-checkout

问题如下。

我的团队代码在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

为了能够在代理商限制访问的大学工作。这可能与这个问题有共同之处吗?当然,代理服务器现在没有设置。

1 个答案:

答案 0 :(得分:0)

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

然后,如果您确切知道线条的样子,那么您应该运行

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

标识已修改,添加或删除该行的提交。 (或者,您只需运行git log /path/to/file即可手动查看以任何方式更改文件的所有提交。)

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