git非常新,经过一些阅读后,我们设置了以下工作流程:
Github repo
本地回购(工作站和笔记本电脑)
开发服务器 - 发布接收挂钩从裸存储库推送到提供文件的目录
这一直很好但今天我想提交在开发服务器上进行的更改,然后在本地将它们拉回来。
但是当我尝试暂存并提交更改时,我收到错误:“致命:不是git存储库......”
我想我理解为什么(因为包含所有文件的目录不是git repo)但是我如何在DEV服务器上提交更改并将其拉回本地?
任何帮助都会非常感激 - 我是一名设计师,所以你可能不得不解释这个很抱歉。
干杯
本
答案 0 :(得分:0)
我不完全确定你的设置是不是一个好主意 - 拥有更多克隆是很便宜的,并且避免做任何奇怪的事情。
编辑:以前我建议使用--git-dir
选项,但这不起作用,因为回购仍然是裸的,Git知道它。你可以用一些hackery解决它,但最好的办法是制作一个非裸克隆,将更改的文件复制到其中,提交并推回。通过在您需要的地方实际拥有完整的回购,您可以在将来为自己省去麻烦。
答案 1 :(得分:0)
要将任何内容提交到Git
,它需要是一个git存储库。
将git存储库克隆到您所服务的服务器,而不是ftp,sftp,rsync或您可能正在使用的其他类似替代方案之一,并为每次更新执行git pull
这样,您可以从服务器提交并推送到github。
Git pull非常优化,甚至可以减少需要传输到服务器的数据量。不仅如此,在您的服务器上安装git repo总是一个好主意,因为您可以在一瞬间内使用单个命令切换分支,标记并移动到历史记录中的任何时间点。