2017-08-18 3 views
1

私は最後に、このようなマスターブランチに存在するコミット取得:その後、私はそれでいくつかの変更を加え作業ディレクトリはツリー図のように見えますか?

$ git pull origin master 

。それと同時に、(私がプロジェクトで作業していたときはいつも)、私の同僚はいくつかの新しいコミットをマスターブランチにプッシュしました。

私は変更を最初にリベースしてから、それをマスターブランチにプッシュしなければなりません。ここに私のコマンドです:

git pull origin master --rebase 
git push origin master 

は今、私が知りたい:

  1. どのように全体のプロセスはのgitツリー図のように見えますか?

  2. また、別の方法でgit pull origin master --rebaseと書くことはできますか?つまり、--rebase$ git checkout workingDirecotry$ git rebase masterの短縮形ですか?あなたの最初のプル後

+1

2度目のプルは必要ありません。リベースした最初のプルは、リモートからオリジン/マスターの上に自分のコミットを再適用するだけです。 – Axnyff

答えて

1

、歴史は次のようである: enter image description here

あなたには、いくつかの変更を行った後、上のローカルブランチの移動: enter image description here

はまた、遠隔レポはによって更新されましたあなたの同僚: enter image description here

次に、に相当するgit pull origin master --rebaseを実行します。 enter image description here

そしてgit rebase origin/mastergit fetch origin masterの結果

DおよびEを、古いベースCから新しいベースNに移植する。 masterも古いヘッドEから新しいヘッドE'に移動します。 enter image description here

+0

[this](https://i.stack.imgur.com/HC7QR.png)の単語は「origin/master 'ではなくmasterです。 – stack

+0

@stackリモートリポジトリにありますので、 'master'でなければなりません。 'origin/master'はローカルリポジトリ内の追跡ブランチです。 – ElpieKay

+0

は[これを変更する](https://i.stack.imgur.com/jCBYx.png)する必要がありますか? – stack

関連する問題