保持存储库同步而不能推送和提交提交

时间:2011-06-02 16:13:48

标签: git workflow git-merge

截至目前,我无法使用git服务器,所以我使用了我最喜欢的一个git功能,它将我计算机中的任何目录转换为git repo(只是git init的东西)。

我习惯这样做,因为我是唯一一个编码,我可以跟踪自己的东西。现在事情发生了一些变化,我正在与一个小团队合作。然而其他一些东西没有改变,我仍然没有git服务器,因此本地回购仍然是唯一的选择。

最直接的程序是将代码分发给其他人,就像压缩我的回购并发送它一样。当它们完成后,它们会将它发回给我并替换原始的回购。工作很好,因为我们几乎从来没有两个人在同一个回购中工作,因为项目是如何组织的。

现在,我希望我可以做一些更一致的事情......比如,将他们发送到我当地的回购中的任何东西合并。这个例子允许我最终让两个人在同一个仓库中工作(或者可能是它的子集)。

我一直在阅读git补丁脚本。但说实话,我对解决方案感到不舒服。首先,因为在我最初的实验中它没有立即工作(是的,我知道这只是一个理解它更好的问题,但仍然,不像其他git那样直观),第二,因为我的存储库也将包含我的二进制文件需要进行控制..不确定补丁是否可以处理:/

你们建议哪个程序组织这个程序? 是否有一个命令允许我以我描述的方式合并到回购?

谢谢!

F。

3 个答案:

答案 0 :(得分:2)

如何发送彼此的补丁?

git format-patchgit am可能符合您的需求。我过去曾经使用它,它可以很好地发送不经常的变化。

答案 1 :(得分:1)

如果您有某种方法来设置共享目录,即使它位于某人的计算机上,您也可以在那里进行git init并让每个人都将该回购添加为远程。它不像使用gitolite或SSH'd那样干净,但应该可以正常工作。

答案 2 :(得分:1)

分布式版本控制的好处是你不需要每个人都可以随时访问的服务器。您可以根据需要拥有尽可能多的服务器。您可以在公司防火墙内设置服务器或共享目录,供有权使用的每个人使用,并让您的异地人员各自设置他们自己的本地ssh或者您可以根据需要推送和拉出的东西。

如果你想在zip文件中继续你的邮件回收,你所要做的就是不是替换你的主要本地仓库,将其解压缩到一个单独的文件夹,然后从该文件夹中git pull进入你的主要的回购以便合并它。不像git format-patch那样有效地带宽,但在你的特定工作流程中稍微熟悉一点。