例如,如果我从远程提取更改,然后提交并推送我的更改,当我提交时,其他人推送另一个提交,与我的提交没有冲突,将创建一个新的anonimouse分支,我们的两个提交将合并。有没有办法阻止创建这个分支和自动播放,所以服务器拒绝推送,因为它会有冲突吗?
答案 0 :(得分:0)
Git不会这样做。如果您在工作期间有push
个人push
,则! [rejected] master -> master (non-fast-forward)
会因为快进而失败。您将通过
pull
错误消息。
然后,您需要先merge
(在您的客户端执行push
)。之后,git push origin master # FAILED
git pull origin master # this does a merge on your client
git push origin master # OK
将是一个快进的人,并且会成功。
Timer
答案 1 :(得分:0)
将创建一个新的anonimouse分支,我们的两个提交将合并
没有。推送时git
不会自动合并。它要求分支的头部(在接收侧)出现在你现在推送的任何东西的祖先(在发送方),所以它只是将你的新提交附加在已经存在的任何东西之上。
有没有办法阻止创建此分支和自动播放,
是的,git
会自动通知您有关不匹配的信息,并提供足够的信息来判断您是否只需要执行git pull
或是否有事情发生(即有人做了git rebase ... ; git push -f
1}}或git reset ... ; git push -f
或类似的。)