通过推送和从裸仓库中提取来检索覆盖的文件

问题描述 投票:0回答:1

情况如下:远程Linux服务器上有一个裸仓库(repo.git目录)。在过去的某些时候(点A),人们一直按照“裸和非裸”指令的方式使用它:在本地机器上编辑代码(在包含.git目录的仓库中)并将其推送到远程服务器。但后来他们完全停止使用Git并切换到直接在服务器上编辑代码。

昨天(B点)我从远程服务器git clone,在代码中做了一些更改,提交然后推送到服务器。事实证明,我的git clone步骤下载到我的机器上的旧代码(在A点是最新的)。然后我将旧代码推送到服务器,然后来自B点的代码被A点的代码覆盖。

由于我从未使用过个人(一人)项目的Git,我不知道(并且诚实地挣扎)是否有任何方法可以恢复服务器上的B-code代码。

git git-remote git-bare
1个回答
2
投票

没有git机制来恢复未提交给git的版本。如果有单独的备份,则可以从备份还原文件。 (如果没有单独的备份...为什么不备份服务器?)

一方面,这是为什么我不喜欢使用git进行部署的另一种变体。另一方面,如果你打算使用git进行部署,那么需要理解的是除了git之外什么都不应该写入git部署的文件夹,因为这样做只是要求你的工作被覆盖。简而言之:如果一个人的变化很重要,那么为什么人们不希望它们与git历史保存在一起呢?

© www.soinside.com 2019 - 2024. All rights reserved.