我在 jenkins 中运行多个作业,它们都在同一个 repo 中但在不同的文件中工作,但有时在推送时似乎存在竞争条件错误。
当两个作业(或更多)同时运行时会发生这种情况。他们从 github repo 中提取,然后在每个作业中更改不同的文件,什么时候推送以及在第二个作业之前推送另一个作业,最终会出现推送问题。试图解决这个竞争条件我在提交之前做'git pull',然后我再做一次'git pull',以防在那段时间另一个工作更新了repo,然后我运行'git push'但有时另一个工作之前推送我可以推动导致推动失败
有没有办法只告诉 git 推送一个文件?(我不相信,但可能是我错了)或者有人遇到这种情况并有避免这种竞争条件的好方法?
这是我通常得到的错误:
git push
Error reading response length from authentication socket.
To git@github.com:<my repo>.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:<my repo>.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes before pushing again. See the 'Note about
fast-forwards' section of 'git push --help' for details.
谢谢!