1

对 git 来说非常新,经过一番阅读后,我们设置了以下工作流程:

  • Github 仓库

  • 本地存储库(工作站和笔记本电脑)

  • 开发服务器 - 将接收钩子从裸仓库推送到提供文件的目录

这一直很好,但今天我想提交在开发服务器上所做的更改,然后将它们拉回本地。

但是当我尝试暂存并提交更改时,我收到了错误:“致命:不是 git 存储库......”

我想我明白为什么(因为包含所有文件的目录不是 git repo)但是我将如何在 DEV 服务器上提交更改并将它们拉回本地?

任何帮助将不胜感激 - 我是一名设计师,所以你可能不得不简单地解释一下。

干杯

4

2 回答 2

0

要将任何内容提交到Git中,它需要是一个 git 存储库。

将 git 存储库克隆到您正在服务的服务器中,而不是在 ftp、sftp、rsync 或您可能正在使用的其他类似替代方案之一上,并且对于每个更新执行git pull

这样,您可以从服务器提交并推送到 github。

Git pull 非常理想,甚至可以减少需要传输到服务器的数据量。不仅如此,在您的服务器上拥有 git 存储库总是一个好主意,因为您可以在几分之一秒内使用单个命令切换分支、标签并移动到历史上的任何时间点。

于 2011-12-01T06:59:54.230 回答
0

我不完全确定您的设置是否是一个好主意 - 拥有更多克隆很便宜,并且避免做任何奇怪的事情。

编辑:以前我建议过这个--git-dir选项,但这不起作用,因为 repo 仍然是裸露的,而且 Git 知道这一点。你可以用一些hackery来解决它,但最好的办法可能是制作一个非裸克隆,将更改的文件复制到其中,提交并推回。您可以通过在需要的地方实际拥有完整的回购来为自己省去麻烦。

于 2011-12-01T03:00:45.903 回答