Git 我是否需要合并裸回购中的分支机构?
在我的设置中,我有三个回购协议:Git 我是否需要合并裸回购中的分支机构?,git,git-merge,git-bare,Git,Git Merge,Git Bare,在我的设置中,我有三个回购协议: 远程服务器上的裸repo(/op/git/proj.git) 远程服务器上的非裸repo(/var/www/proj/.git) 本地计算机上的非裸回购(/var/www/proj/.git) 裸回购是本地和远程普通回购的起源 每当我在本地进行提交时,我都会在本地上推送到裸回购,然后在普通远程回购上推送并在远程回购上获得更改 现在,我想merge将A分支到master我应该使用哪种方法?(假设master是两个回购协议的当前分支机构) 方法1 1. 本地$git
/op/git/proj.git
)/var/www/proj/.git
)/var/www/proj/.git
)上推送到裸回购,然后在普通远程回购上推送并在远程回购上获得更改
现在,我想merge
将A
分支到master
我应该使用哪种方法?(假设master
是两个回购协议的当前分支机构)
方法1
1. <代码>本地$git合并A
2. <代码>本地$git推送原始主机
3. <代码>远程$git拉取原始主机
方法21. <代码>本地$git合并A
2. <代码>远程$git合并A 我不确定第二种方法是否是我所需要做的全部,换句话说,因为你不能在裸回购中做
结帐
和合并
,你需要在合并
后对裸回购做些什么吗?使用方法1
方法2只有在git merge A在本地和远程上都是快进的情况下才有效。如果任何git merge A
操作导致合并提交(不是快进),则主分支将发生分歧
通常,在多个位置合并同一分支在实践中很少有用
合并后,你需要对裸回购做些什么吗
就这样吧。这是正确的答案(并且是向上投票的),我只想添加一条注释,说明整个合并过程同时使用索引和工作树来存储所有中间结果。虽然裸存储库确实有索引,“裸存储库”的定义是“没有工作树”,因此不能在裸存储库中合并的原因是它缺少合并过程的关键元素。