Git:如何对裸仓库进行变基操作

7
我正在使用备份软件oxidized,它通过编辑索引直接向裸库(bare repository)提交更改,而不是在工作目录中更新文件。
我希望将提交推送到Github上的一个存储库,因此我已经克隆了我的repo作为一个裸库,并指向了备份实用程序。只要repo没有上游更改,它就可以创建提交,我可以将其推送到Github上。
如果repo确实有上游更改,Git就不会让我推送,因为存在合并冲突,但我也无法拉取/变基,因为裸库没有工作目录来暂存更改。
我找到的所有资源都基本上表明我应该克隆这个repo,以便它拥有一个工作树,但我使用的软件限制了我这样做的能力。我尝试过,当它指向裸库时,它所做的更改不会显示在工作目录中,因此Git会感到困惑并认为文件丢失了。
希望比我更有知识的人能够为我提供一些帮助。谢谢!
1个回答

0
我也曾处理过一个自己的裸仓库,在别人进行上游更改和我进行下游更改之间。
为了合并上游更改,我创建了一个非裸的上游仓库,并将其与我的本地裸仓库关联起来,解决冲突并推送。
这需要一些工作量,如果需要频繁合并本地和上游更改的话,我不建议使用这种设置-你需要一个实际的工作目录来进行合并!
顺便说一下:起初这让我感到困惑,听起来像个坏主意;请参考下面的评论以获得澄清:
“通过编辑索引而不是更新工作目录中的文件,直接向裸仓库提交修改。”

最后想说,这听起来像是个坏主意… 你正在说胡话,甚至没有解释你的观点。你引用的内容正是空的 git 存储库。你基本上是在说空存储库是一个坏主意,那么你就不应该使用任何远程 git 存储库,因为它们就是这样的。你误解了句子的意思,它不是编辑原始存储库的索引,而是将其提交到备份的空存储库副本中。这完全有道理,也正是远程 git 存储库所做的事情。 - adamency
啊,好的,谢谢你澄清了原帖的句子,我没有自己去研究,我明白你的意思了。同时我也同意,这只是一次不好的发泄!我会尝试整理一下。 - moodboom
非常感谢您的理解和回答,对于我原始评论中有些激进的言辞,我很抱歉。祝您有愉快的一天! - adamency
你也是我的朋友! - moodboom

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接