フォーク/リベース/ pull-request gitワークフローをバージョン管理とコマンドラインを恐れる私のチームの開発者に見せかけるために、当社の開発のwikiにリベースの記事を追加することでrebase中にno-opコミットを強制するようにしました
、私はちょうど私が言うポイントになった「git rebase
を行います。すべての競合をマージがある場合は、それらを修正しgit add
を行う。そして、git rebase --continue
を行います。」
しかし、例を挙げて取り組んでスクリーンショットを取るには、私はそこにマージ競合だ、と私は実際にgit rebase --continue
を継続することを拒否やって、上流分岐の賛成で、それを解決した場合は、エラーを与えることを思い出した :
No changes - did you forget to use 'git add'?
If there is nothing left to stage, chances are that something else
already introduced the same changes; you might want to skip this patch.
あり、ここで技術的な詳細の優れた議論です:Git rebase: conflicts keep blocking progress
は、しかし、私がしたいことは、この動作停止を作ることです。
このような状況が起こるのは良い設計理由があると思われます(おそらく通常のコミットマシンを使用しているリベースに関係していますが、このような場合は理にかなっています)が、この状況では混乱して直感的ではなく、あなたの修正が上流ブランチのように見える場合は、git rebase --skip
を実行し、それ以外の場合はgit rebase --continue
を実行してください。
rebaseまたはバージョン管理された設定ファイル(このため、各デベロッパーのコンピュータに設定する必要はありませんか、そうするように指示する必要はありません)のフラグを使用して、この動作をスケルチする方法はありますか?
私はこれがその質問と重複しているとは思わない。ここでのOPは、空のコミットのリベースをスキップする方法について質問していますが、ここでOPは、 'git rebase'が空のコミットを作成する方法を尋ねています。 –
しかし、なぜあなたは空のコミットをしたいですか?空のコミットとは、そこで実行されたすべての作業が、再配置されたブランチからのコミットに導入されたことを意味します。この場合、コミット全体を削除する必要があります。それは、事後(対話型のリベースを使用し、不要なコミットを省略することなど)や他の方法で行うことができますが、空のコミットを行うのは間違いです。 – ErikE