gpt4 book ai didi

服务器上的 Git 存储库恢复了我的更改,但具有与本地相同的日志

转载 作者:行者123 更新时间:2023-12-02 08:00:03 24 4
gpt4 key购买 nike

我有一个非常奇怪的问题,我似乎无法解决,尽管我现在已经搜索了 4 个小时。

基本上,我在服务器上有一个 Git 存储库。我设法通过 SSH 在本地克隆了该存储库。

如果我在本地进行更改,我可以将它们推送到服务器。 但服务器会还原我的更改。

第 1 步:进行本地更改

我在本地添加了一个 test.php 文件。如果我执行 git log,它就会出现。 enter image description here

第 2 步:推送我的更改

我将更改推送到远程存储库。没有错误。 enter image description here

第三步:检查服务器仓库

如果我ssh 到服务器,并执行git status,它应该不会显示任何本地更改。但是,它显示要提交的更改。这些更改实际上完全撤消了我刚刚推送的内容。在这种情况下,它将删除我刚刚添加的文件。 enter image description here

第四步:查看服务器登录

如果我运行 git log,我会得到与本地存储库完全相同的日志。 enter image description here

我真的不明白发生了什么。我可以推送更改,但它们一到达服务器就被撤消。

任何帮助将不胜感激,因为这让我发疯,因为我找不到遇到过与我相同问题的人。

最佳答案

那是因为在推送时,服务器只更新它的提交历史和索引区域,而不会触及您的工作树。这样,在推送之后,您在服务器上的工作树将保持其先前的状态,而其分支已更新。

通常建议不要将非裸仓库推送到 checkout 分支,因此推送到另一台服务器(例如 GitHub)并从服务器上 pull 可能是一个更好的主意。

如果您确定自己在服务器上做的一切都是正确的,请手动运行 git checkout -f 推送到服务器上的所有内容,以确保其工作树与其索引区域匹配。

关于服务器上的 Git 存储库恢复了我的更改,但具有与本地相同的日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58576407/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com