目前我在线使用gitlab进行所有项目的源代码控制。我担心未来的问题,比如gitlab被黑客入侵等等。不是说这可能是一个问题。所以我想在我自己和朋友推送的局域网上的服务器上安装gitlab。但是,如果它被盗或死亡,那么将它作为唯一的备份服务器也会让我感到担忧。有没有办法我们都可以推送到这个备份服务器并自动将这个服务器推送到gitlab在线服务器,而无需在开发PC上进行任何配置?如果由于更新或网络故障导致gitlab online脱机,该解决方案将需要处理gitlab在线推送失败。他们不能彼此不同步。所以它应该意识到失败并在以后重试。它还需要与git-annex或其他大型文件支持系统一起正常工作。感谢
答案 0 :(得分:0)
最简单的解决方案
将多个pushUrls
添加到您的遥控器(一个用于您的本地,另一个用于gitlab.com)
git remote set-url --add --push origin git://your_local_repo_url
git remote set-url --add --push origin git://your_gitlab_com_repo_url
你在客户端上交易有点复杂(如果你真的想要一个全天候的完整备份,所有实际推送的客户都需要这个配置,如果这不是必需的话,拥有配置的客户最终会同步当他们推动时,为了很多简单而不必在“成功”推送之后处理同步问题(如果其中一个推送失败,你会在推送时知道它 - 快速失败)
其他解决方案
在这两种情况下,你都需要一些重试机制+一些大规模的聪明才能处理奇怪的情况(不洁推动......)