私はジェンキンスで複数のジョブを実行しています。それらはすべて同じレポで動作しますが、ファイルは異なりますが、プッシュ時に競合状態でエラーが発生することがあります。
これは、2 つ (またはそれ以上) のジョブが同時に実行された場合に発生します。彼らは github リポジトリからプルし、その後、各ジョブで異なるファイルが変更されます。プッシュするときと、別のジョブがプッシュされる前に別のジョブがプッシュされ、プッシュの問題が発生します。この競合状態を修正しようとしています。コミットする前に「git pull」を実行しています。その後、別のジョブがその間にリポジトリを更新した場合に備えて、もう一度「git pull」を実行します。その後、「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.
ありがとうございました!