2016-11-30 6 views
1

したがって、シナリオは次のようになります。追加作業を維持しながら、現在のブランチを最新状態にするにはどうすればよいですか?

「分割」という実装している機能の作業が必要でした。私はsplitというブランチを作成し、そのすべての作業を行いました。

その間に、本番環境での実装が必要だったため、私はマスターに戻り、変更をコミットして展開しました。

今私は 'split'ブランチの作業に戻ります。私は今朝それをチェックアウトしましたが、今度は私が実装した急激な変更を含むマスターブランチでスピードアップする必要があります。

どうすればいいですか?

答えて

1

git rebase masterこの問題を解決したら、完了です。しかし、これは、他のユーザーが作業していない非プッシュローカルブランチに対してのみ行う必要があります。潜在的に他のブランチがあなたのブランチに基づいてブランチを持っている場合は、最新のマスターの変更をフィーチャーブランチにマージする方がよいでしょう。しかし、リベースすれば、ラダー履歴の代わりにより良い線形履歴が得られます。

0

pull masterブランチ変更を取得することができます。

$ git checkout split     # go to split branch 
$ git pull origin master    # pull, take the master's changes 

rebaseです。マスターのすべての変更を取ってtop in git logにあなたのコミットを入れてください。

$ git fetch 
$ git pull --rebase origin master 
0

はあなたの機能ブランチにmergeまたはrebaseマスターブランチに必要です。

まず、機能ブランチ上にあるすべての変更をcommitまたはstashにして、作業ディレクトリがきれいになるようにしてください。次に、リベースするためにgit rebase masterを実行するか、git merge masterをマージしてください。また、その違いを理解することは良いことです:https://www.atlassian.com/git/tutorials/merging-vs-rebasing/

関連する問題