我有两台机器:远程和本地。我希望远程成为我可以从本地推送的主存储库。
我有一个当前project
,它位于远程上,我想存储到git的存储库中。
由于这些文件最初位于远程,而且我还需要一个可以推送到远程的裸存储库,这有点棘手。该程序本质上是 bootstrap ,直到我将裸目录启动。
我用来设置和测试的序列,正如 Paolo Capriotti 在下面的简短回答中所建议的那样:
/home/me/depot/project
git push origin master
发布到远程上的裸仓库git pull
从裸仓库中提取更简单的序列将涉及完全忽略本地目录。首先在远程上设置工作和裸仓库,最后在本地上,从远程上的裸仓库中克隆。
我尝试了以下内容:
edit a file on local
失败
remote:错误:拒绝更新签出的分支: refs / heads / master remote:error:默认情况下,更新当前 分支在非裸存储库远程:错误:被拒绝,因为它 将使索引和工作树远程不一致:error:with 你推了什么,并需要'git reset --hard'来匹配远程: 错误:工作树到HEAD。
所以我重新开始:远程的rm -rf .git目录,本地的rm -rf。
我尝试在remote上创建一个裸目录:
失败
致命:此操作必须在工作树中运行
我需要执行哪些步骤才能从本地计算机推送到远程计算机,从project
但没有存储库开始?
如果可能,我更喜欢远程/home/me/depot
目录中的软件仓库。
这是否意味着我需要远程裸机和非裸机库?
答案 0 :(得分:4)
使用git init --bare
在远程创建裸存储库,但不要添加任何文件。在本地创建存储库,添加文件,然后推送到远程。