多个git用户使用相同的远程仓库是如何安全的?

时间:2014-03-19 19:39:26

标签: git

我想知道几个git用户使用相同的远程仓库如何安全,没有git服务器软件。如果有几个用户同时推送和获取,甚至可能推送相同的提交,是否存在潜在的损坏问题?

2 个答案:

答案 0 :(得分:0)

如果您正在使用文件共享系统:

Git会将您的提交复制到临时文件夹,然后应用必要的锁以确保操作是原子的。

此问题已在ServerFault上得到解答。

如果你正在使用像Github这样的服务器:

这些服务器确保这些操作是原子的。

但是,如果您一次推送多个分支机构,服务器可能会接受一些分支机构并拒绝其他分支机构,因为它们已同时更新。但是服务器永远不会接受一半的提交。

他们如何保证原子性?例如,你必须要求GitHub开发。

答案 1 :(得分:-1)

Git通过分支机构解决了这个问题。基本上,您可以制作自己的回购副本,并对其进行处理。如果要将更改提交到主分支,则向创建者发送拉取请求。这是pull requests上GitHub页面的链接。

现在,如果两个不同的分支对同一部分进行了更改,然后有人尝试将它们合并在一起,则会出现合并冲突。 Git基本上会停止所有内容并为您提供任何冲突文件,并在冲突标记区域内进行更改。然后,您必须使用要保留的任何更改集来解决任何冲突区域。请注意,对于每个冲突,您可以使用任一分支的更改,甚至可以创建一个新的冲突。您可以阅读有关合并冲突的更多信息here

您还可以使用Google或搜索GitHub以获取更多相关信息。有关如何在命令行上执行此类操作的说明。