如果更多的git命令并行运行在同一个repo上,这样会安全吗?

22 git version-control locking race-condition

我很感兴趣,如果它是安全的,运行之类的东西git push,并git commit在并行(例如,在cron作业,詹金斯的工作等).是否有一些内置于git中的锁定机制,因此这些操作是序列化的,否则会破坏存储库?

Ada*_*ruk 18

是.Git的工作方式是以允许这种方式的方式编写引用.如果您在推送的同时进行提交,则推送将仅从引用下移到它们包含的对象.如果提交完成并按时更新分支引用,它将被推送.如果没有,则推送旧引用.你不会被推到"半个提交".

所有文件都以隐式保留任何指针的引用完整性的方式编写.写的最后一个文件将是那里已经包含所有依赖项的引用.