与本地文件系统上的存储库进行git-merge

Ben*_*ers 13 git gitosis git-merge

对于某些情况:我刚刚升级了Ubuntu,这破坏了我现有的gitosis安装(见这里:bug#368895),并刚从包中重新安装了gitosis.我现在想要从旧的gitosis安装中迁移我的整个配置和存储库集(它仍然存在并且可以从中拉出但是否则会被破坏).

我现在在本地有两个gitosis-admin目录,每个gitosis安装一个.一个人有完整的历史,另一个人是空的.我想要了解这段历史.以下是发生的事情:

me@server:~/gitosis-admin-new$ git merge ../gitosis-admin-old/
fatal: '../gitosis-admin-old/' does not point to a commit
Run Code Online (Sandbox Code Playgroud)

...那里是在git仓库~/gitosis-admin-old/~/gitosis-admin-new/

我可能还需要为其他存储库执行此操作,这些存储库具有更长和更重要的历史记录,因此复制和提交不是一个选项.

我究竟做错了什么?我已经尝试过指向.git/HEAD,据我所知是提交,但这不起作用.有人可以解释如何做到这一点?谢谢!

Jak*_*ski 23

您需要使用git pull存储库,而不是git merge(用于分支):

git pull ../gitosis-admin-old/
Run Code Online (Sandbox Code Playgroud)

您可能需要在远程中选择一个分支进行合并,例如:

git pull ../gitosis-admin-old/ master
Run Code Online (Sandbox Code Playgroud)

如果你只需要这样做一次合并,那么git remote addjamessan中使用像是不必要的工作.另一方面,如果您要重新访问遥控器(拉动多次),此解决方案将比使用更好git pull <location> <branch>.


jam*_*san 5

您需要为该存储库创建一个远程,然后从那里获取和合并(或简单地拉取)。

git remote add admin-old file://$HOME/gitosis-admin-old
git pull admin-old
Run Code Online (Sandbox Code Playgroud)