我是 Git 新手,试图让自己正确设置。我有一个远程仓库和一个本地克隆,到目前为止只有一个(主)分支。
我在本地删除了一些文件,提交了这个更改,然后执行了“git push origin master”,这似乎成功了。'git status' 现在在本地不显示任何内容。
但是,当我查看远程仓库时,文件仍然存在,并且“git status”将它们全部显示为已添加但未提交。推送我的更改是否应该没有从远程删除它们?我究竟做错了什么?
我是 Git 新手,试图让自己正确设置。我有一个远程仓库和一个本地克隆,到目前为止只有一个(主)分支。
我在本地删除了一些文件,提交了这个更改,然后执行了“git push origin master”,这似乎成功了。'git status' 现在在本地不显示任何内容。
但是,当我查看远程仓库时,文件仍然存在,并且“git status”将它们全部显示为已添加但未提交。推送我的更改是否应该没有从远程删除它们?我究竟做错了什么?
问题是您显然推送到非裸存储库。推送永远不会更新远程工作副本。
看看仅针对裸存储库的 Git 推送?和http://gitready.com/advanced/2009/02/01/push-to-only-bare-repositories.html
要使非裸远程存储库更新,请通过 SSH 连接到存储库所在的计算机并运行git reset --hard HEAD
并git checkout -f
强制更新工作副本(请注意,这将破坏您可能在其中所做的任何本地更改工作副本)。
要使您的远程存储库裸露,请通过 SSH 连接到计算机,以便您可以直接访问它。假设存储库位于子文件夹中,repo
请运行以下命令:
mv repo repo_old
git clone --bare repo_old repo
然后测试一切是否正常,然后rm -rf repo_old
摆脱旧的。