2013-07-31 116 views
0

所以我正在学习Git,我正在使用sourcetree GUI。我在服务器A上有一个远程仓库(不是一个裸露的仓库,而是一个工作仓库)。所以我将远程repo克隆到我的本地机器上,然后创建了一个名为“blah.txt”的新文件,然后添加,将更改提交到本地repo。git push有奇怪的行为?

然后在设置git config receive.denyCurrentBranch ignore后,我从本地仓库推到远程仓库。但是,在推送后,我无法在远程仓库中看到我创建的文件(blah.txt)。

但是,当我将相同的远程回购克隆到本地计算机上的其他文件夹时,blah.txt再次出现。任何人都可以解释发生了什么事?

回答

0

git push只将更改推送到远程仓库中的.git目录,但它不更新远程仓库工作目录中的文件。

你可以在远程仓库中说git reset --hard来更新文件,但是如果有一些文件没有提交编辑,你将会失去这些改变。 (你甚至可以制作一个git钩子,如果你希望在每次收到一个pull时自动更新文件,那么它会运行git reset --hard)。