推送后仍然存在于Git远程仓库中的已删除文件?

时间:2012-05-18 09:51:30

标签: git

我是Git的新手,试图让自己正确设置。我有一个远程仓库和一个本地克隆,到目前为止只有一个(主)分支。

我在本地删除了一些文件,提交了这个更改,然后做了'git push origin master',它似乎成功运行了。 'git status'现在显示没有任何东西可以在本地提交。

但是,当我查看远程仓库时,文件仍然存在,并且“git status”将所有文件显示为已添加但未提交。应该推动我的更改没有从远程删除它们?我做错了什么?

1 个答案:

答案 0 :(得分:5)

问题是你显然是推送到非裸存储库。推送永远不会更新远程工作副本。

查看Git push only for bare repositories?http://gitready.com/advanced/2009/02/01/push-to-only-bare-repositories.html

要使非裸机远程存储库保持最新状态,请通过SSH连接到存储库所在的计算机并运行git reset --hard HEADgit checkout -f以强制使工作副本保持最新状态(注意这将破坏您在该工作副本中可能做的任何本地更改。

要使您的远程存储库裸露,请通过SSH连接到计算机,以便您可以直接访问它。假设存储库位于子文件夹repo中,请运行以下命令:

mv repo repo_old
git clone --bare repo_old repo

然后测试一切是否正常,并在此rm -rf repo_old之后删除旧的。