【问题标题】:Deleted files still present in Git remote repo after push?推送后删除的文件仍然存在于 Git 远程仓库中吗?
【发布时间】:2012-05-25 21:29:16
【问题描述】:

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

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

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

【问题讨论】:

  • 为什么你的远程仓库不是bare
  • 啊,我没有意识到我必须这样设置它。我现在可以通过再次运行“git init”来更改它,还是我必须重新开始设置我的远程仓库?谢谢!
  • 我已经更新了我的答案,以包含有关如何使其裸露的说明。

标签: git


【解决方案1】:

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

看看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 摆脱旧的。

【讨论】:

    猜你喜欢
    • 2019-05-18
    • 2017-06-17
    • 2020-01-03
    • 2020-05-31
    • 1970-01-01
    • 2014-12-22
    • 2015-11-12
    • 2013-02-21
    • 2015-10-11
    相关资源
    最近更新 更多