機能ブランチを 2 回目にプッシュするときに、次のメッセージが表示されないようにするにはどうすればよいですか。
To https://github.com/xxx/git_test.git
! [rejected] feature_branch -> feature_branch (non-fast-forward)
error: failed to push some refs to 'https://github.com/xxx/git_test.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Merge the remote changes (e.g. 'git pull')
hint: before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
私がすることはこれです:
git pull origin sprint_branch1
git checkout -b feature_branch
date > a.txt
git add a.txt
git commit -m 'added date'
git push origin feature_branch
誰かが私の機能のコード レビューを行い、他の誰かがその間に sprint_branch に変更を加えます:
git checkout sprint_branch1
date > a.txt
git add a.txt
git commit -m 'added another date'
git push origin sprint_branch1
機能を改善する必要があるので、そうします
git checkout feature_branch
git fetch origin
git rebase origin/sprint_branch1
マージの競合が発生し、次のことを行います。
nano a.txt # removing inserted merge tags
git add a.txt
git rebase --continue
それから私は自分の機能を改善します
date >> a.txt
git add a.txt
git commit -m 'add another date again'
2 回目のレビューのために自分の feature_branch をプッシュしたい
git push origin feature_branch
ただし、上部に記載されているエラーメッセージが表示されます。Git は git pull の使用を推奨していますが、他の人は rebase ワークフローの使用を推奨しています。では、feature_branch をプッシュするにはどうすればよいでしょうか? feature_branch_v2 という名前の新しいブランチを作成してプッシュする必要がありますか? その場合、どのファイルを git に追加するかを手動で覚えておく必要がありますか、それともすべてを追加する必要がありますか (厄介なコミットを作成します)? このエラー メッセージを表示せずにプッシュするより良い方法はありますか?