Git回收多台机器 – 备份和保持同步

我是git的新手,所以请随意给我RTFM …

我有多个开发站点(没有一个可以通过网络相互通信),并且我正在处理一些项目(少数人).

我理想的是在每个站点都有一个可以从中取出的集中式存储库,但是我们自己的(个人)存储库中会发生开发.然后我希望能够在集中式回购中同步(例如通过USB密钥).

我希望在每个位置都有一个集中的回购:(1)我是git的新手并通过玩游戏打破我的(个人)本地回购和(2)一些项目被搁置所以我希望能够释放磁盘空格删除它们.这是我的问题的“备份”部分.

我也希望能够使用’git clone –bare’作为我的集中式回购(以及USB密钥回购?),因为我们不需要完整的结账,只需要git的好处.

然而,我似乎无法获得一个完整的回购工作作为我可以推动的回购.我使用’git remote’来设置一个远程源(类似于http://toolmantim.com/thoughts/setting_up_a_new_remote_git_repository),但我无法让’git push’工作 – 似乎我需要一个签出的回购.

.

有没有其他人使用这种回购/开发结构,还是有一些我缺少的git用法的基础?

.

我想到的一个解决方案可能不起作用 – 如果我在每个站点都有一个’git clone –bare’然后在我的可移动媒体上使用git repo,它为每个站点设置了遥控器,那么我可以(‘拉’ )与每个仓库同步我的USB密钥.但是,我可以从USB密钥更新网站仓库吗?我可以从USB推出吗?

最佳答案 好吧,首先我要说的是,由于无法连接到互联网,安全性的整个前提是完全错位的.我不应该在不知道所有事实的情况下判断,但考虑到你在StackOverflow上提出这样一个基本问题,这意味着你不是一个开发下一代轨道枪的跨国公司,并且经常遭受黑客袭击.

剥夺互联网连接的开发人员可以将安全性提高约0.01%并减慢安全性,因为他们无法将相关内容研究大约1000%.您需要首先为负责任的人提倡更好的环境,并在某个服务器上拥有托管存储库.您可以使用gitorious或gitosis支付私有github存储库或在linux上推出自己的git repo.

至于实际问题.你所做的就是进入它,而不是从裸存储库中推送.你在最后一段是正确的轨道.

>在每个站点设置一个裸仓库.
>在USB记忆棒上设置一个裸仓库.
>开发人员将他们的更改推送到网站仓库.
>在每个站点的棍子上设置遥控器.
>从每个站点回购中拉出USB记忆棒.

这在理论上是一个很好的解决方案,但是你会发现在同步回购时你会在某些时候遇到冲突.在这种情况下,开发人员需要解决这些冲突.

更好的解决方案是没有站点存储库.由于整个存储库包含在目录中,因此您可以根据需要在本地制作尽可能多的副本.这也将解决您的“玩弄”问题.

如果开发人员需要共享代码,他们可以互相拉扯.然后USB棒进来,他们拉/推他们的变化.这样,产生冲突的人就是负责合并的人.

让我再次重申这将带来多大的生产力负担.拥有一个涉及多个人的共享存储库是很困难的.由于手动同步站点的时间延迟,如果有错误,则不会在今天修复,而是在第二天修复.

点赞