2017-02-12 26 views
2

git pull,git fetchgit rebaseの違いは何ですか?私は引っ張って引っ張って感じるが同じです。git pull、git fetchとgit rebaseの違いは何ですか?

+1

http://stackoverflow.com/questions/292357/difference-between-git-pull-and-git-fetch – jophab

+1

私はあなたが読むことをお勧め[プロGitリポジトリ](https://git-scm.com/book/ja/v2)。最初の3つの章では、あなたの質問に対する答えを含め、毎日必要なものの95%をカバーしています。 –

+0

'git pull --rebase'は後者の2つに相当します – Pockets

答えて

2

フェッチ:更新リモート変更でローカルが、任意のローカルブランチをマージしません。

プル:更新ローカルマージ現在の分岐と変化。

  • git fetch:原点から最新の変更を取得します(なしマージ)

  • git pull

    = git fetch + git merge

  • あなたはmasterブランチにfeatureブランチをリベースした場合。 git rebase masterの場合は、featureブランチcommits/changesをトップに保ちます。 ( - >CA)とfeature支店(B - >D)に2つのコミット

    あなたはmasterブランチに2つのコミットをして言います。

    feature支店(git checkout feature)にいるとします。 new-merge-commit-shaため

    (previous commit) - A -- C  <- master 
            \  \ 
            B -- D -- M <- feature 
    
    ここ

    M:今、あなたはmerge master、その後の歴史をコミットした場合。

    rebase masterについては

    、コミットの歴史:(A - >C - >B' - >D')。

+1

通常、' feature'を 'master'にリベースします。 –

+1

そして、 'git merge master'はあなたが輝いたものよりはるかに複雑なコミット履歴になります。 –

+0

@ Code-Apprenticeに同意すると、ここでは「シンプル/ジェネリック」の違いを示してみました。 –

関連する問題