10

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

我在本地删除了一些文件,提交了这个更改,然后执行了“git push origin master”,这似乎成功了。'git status' 现在在本地不显示任何内容。

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

4

1 回答 1

5

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

看看仅针对裸存储库的 Git 推送?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摆脱旧的。

于 2012-05-18T09:56:40.590 回答