我一直听到有人说他们在Git中提供代码.Git"fork"听起来像Git"克隆",还有一些(毫无意义的)放弃未来合并的心理意愿.Git中没有fork命令,对吧?
GitHub通过将对应关系固定到它上来使叉子变得更加真实.也就是说,您按下前叉按钮后,当您按下拉取请求按钮时,系统足够智能,可以通过电子邮件发送给所有者.因此,它是围绕存储库所有权和权限的一点点舞蹈.
是/否?对GitHub的任何焦虑都会向这个方向扩展Git?或者Git吸收功能的任何谣言?
在第一次克隆存储库时,git首先接收对象(这很明显),然后花费大约相同的时间"解析增量".在克隆的这个阶段实际发生了什么?
我已经在几个地方读过,可以objects
在多个git存储库之间共享目录,例如使用符号链接.我想这样做在同一目录中的几个裸存储库之间共享对象数据库:
shared-objects-database/
foo.git/
objects -> ../shared-objects-database
bar.git/
objects -> ../shared-objects-database
baz.git/
objects -> ../shared-objects-database
Run Code Online (Sandbox Code Playgroud)
(我这样做是因为在每个对象目录中会有大量冗余存储的大blob.)
我对此的关注是,在使用这些存储库时,git gc
将自动调用并导致从一个存储库无法访问的对象被修剪,从而使其他存储库不完整.有没有简单的方法可以确保不会发生这种情况?例如,是否存在一个强制--no-prune
为默认值的配置选项git gc
,如果是这样,是否足以使用此设置而不会有丢失数据的风险?
目前,我一直在使用这种objects/info/alternates
机制在这些存储库之间共享对象,但是将这些指针从每个存储库维护到所有其他存储库都有点笨拙.
(我的另一种方法是只具有单一的裸库,与各分支机构foo.git
,bar.git
并baz.git
命名为foo-master
,foo-testing
,bar-master
,等.然而,这会是一个有点更多的工作来管理,因此,如果符号链接的对象目录可以安全地工作,我宁愿那样做.)
您可能会猜到这是使用Git For It It It Not It用例的其中一个,但我希望这个问题清晰有效;)
git difftool --tool=vimdiff --no-prompt HEAD~1 HEAD
git 将打开 vim,左侧和右侧有两个临时文件。有没有办法强制打开右边的repo文件,这样我就可以直接修改了?