2016-10-04 9 views
0

私はブランチを使用していないと仮定します(私はローカルのマスターブランチで作業していますが、原点はリモートサーバーのマスターブランチです)。コマンドの機能は何ですか?私の混乱は時々私はブランチを使用せずにローカルの変更を(マスターリモートサーバーブランチの変更を)マージするためにこのコマンドを使用している人が表示されますが、私は間違っている可能性がありますが、私はリベースはブランチ(マスター)他のブランチとマージしますか?ブランチを使用しないgit rebase

git rebase -i origin/master 
+1

あなたの質問は、真実ではないアサーションから始まります:Gitでは、あなたは常にブランチを使用しています。この場合、ブランチの 'master'を使用しています。 'master'には特別なものはほとんどありません。それは単なる別のブランチです。 'master' *の主な理由は、新しい、空のリポジトリを作成するときにGitが最初に作成するブランチだということです。これはほとんどのリポジトリに 'マスター 'があることを意味します(これは*持っていない*ために余分な作業をしなければならないためです)。 – torek

+0

@torek、素敵なコメントと投票アップ。 'git rebase'が変更をマージする前に、リモートマスターが最近のローカルorigin/masterへの変更を自動的に引き出すかどうか知っていますか?または、リモートマスターブランチの最新の変更でリベースする場合は、手動でリベースを使用する前に手動でプルする必要がありますか?ありがとう。 –

+1

'git rebase'コマンド*は最初にフェッチしません。 'git pull'コンビニエンスコマンドは2つのことを行います:まず、' git fetch'を実行します。その後、フェッチが正常に終了すると、 'git pull'は' git merge'または 'git rebase'を実行します。ここで問題となるのは、実行する(マージまたはリベースする)ことを事前に選択しなければならないということです。フェッチしてから、どのアクションが最適かを明確に判断できるようになります。ほとんどの人にとって、ほとんどの場合、rebaseは良いです。 'git pull'はデフォルトで' git merge'を実行します。したがって、 'git pull'を完全に避けておくことをお勧めします。単に' git fetch'を続けてください。しかし、(続き) – torek

答えて

2

origin/masterは、masterのような分岐です。これは、基本的に、リモートマスター上のコンテンツを追跡します。

git fetchmasterから実行すると、リモートマスターからすべてのコミットがフェッチされ、origin/masterに配置されます。あなたがgit rebase -i origin/masterを実行すると、この処理が行われます。

  • origin/masterではありませんでしたすべてのコミットは一時的に離れて
  • を入れて、あなたのマスターは、あなたのコミットがあなたの上に再生されるorigin/master
  • 上にあるものは何でもで更新されますあなたの最初の手動fetch、その後rebase、基本的に手動git pull --rebaseはどうなるのかやってthatsの場合、そう

masterを更新しました。

また、自分のブランチにリベースすることもできます(例:git rebase HEAD~2)。これにより、現在のブランチ上のコミットの順序を変更する(または編集する)ことができます。

+0

優秀な説明のためのrethabありがとう、そして投票する。あなたのコメントのために、 "あなたのコミットはあなたの更新されたマスターの上で再生されます"ということは、地元の支店原産地/マスターの私のコミットが地元の支店のマスターで再生されているということですか? –

+1

私はここで私の答えにリベースを説明しました:http://stackoverflow.com/questions/39794674/how-to-bring-a-pull-request-to-a-state-of-can-be-merged-automatically/ 39794996#39794996 – prabodhprakash

+1

あなたがコミットしたことは 'origin/master'にはなりません。上で説明した3つのステップの後で、あなたのマスターの状態は、「origin/master」+あなたがマスターで作ったローカルコミットです。 – rethab

関連する問題