はあなたが
A` <-- A <-- B <-- C <-- D <-- E <-- G
^origin/feature ^HEAD, feature
へ
-- B <-- C <-- D <-- E <-- G
/ ^HEAD, bug-fix
A' <-- A
^ ^feature
|
origin/feature
まず変更したいことを考えると、あなたはこれがあなたにダイアグラムを与える
git branch bug-fix
あなたのブランチ作成する必要があり
あなたは
feature
枝に残っている
A' <-- A <-- B <-- C <-- D <-- E <-- G
^origin/feature ^feature, bug-fix, HEAD
注意、あなただけまだチェックアウトしていない、bug-fix
ブランチを作成する必要があります。
次に、あなたは(ここでA
あなたはまた、相対HEAD
位置を使用することができ、コミットのSHA1ハッシュである)reset
とfeature
(B、C、D、E、G)上のコミットを削除する必要がある:
git reset --hard A
NOTEあなたは機能にコミットされていない仕事を失うことになる - そのコマンドを実行する前に、reset
コマンドの危険を理解してください。すべてのリセットはありませんそして、あなたの新しいブランチをチェックアウトし、プル要求のためのあなたの機能ブランチの変更押す「プッシュ」A.をコミット
からfeature
のポインタである:これは、あなたに必要な図を与え
git checkout bug-fix
git push
をof:
-- B <-- C <-- D <-- E <-- G
/ ^HEAD, bug-fix
A' <-- A
^origin/feature, feature
素晴らしい答え+1ですが、不完全です。最後のビットを追加して、 'master'(コミットAの場合)から新しい' bugfix'ブランチをチェックアウトする場所に質問に答えてください。もう一度、良い仕事、あなたの答えが私のためにすべての視点でそれを置くまで、私は質問によって混乱しました。 –
彼の質問を3回以上読んだ後、追跡された 'feature-branch'にすでに' A'がコミットしていて、バグ修正ローカルチェックイン 'BCDEG'が追加されたと思います。彼は 'BCDEG'を地元のバグ(局所的)の枝に移して、' A 'で 'フィーチャーブランチ'のプルリクエストを行うことを望んでいます。私は答えを更新して質問に直接答えますが、その仕組みは同じです。 –
あなたはおそらく正しいでしょう。質問は混乱して私に語られています。いずれにせよ、私はあなたの答えがその力学をはっきりと説明していると思います。名声 –