違いは何ですか
git pull --rebase
そして
git stash
git pull
git stash pop
実験的なリポジトリを作成して、コマンドを試してみることをお勧めします。自分で実験すると、学習が容易になります。
コマンドシーケンスgit stash; git pull; git stash pop
移動しますコミットされていないマスターブランチの更新されたヘッドに変更します。 (通常のマージも実行されるため、コミットされた変更は、デフォルトのgitconfigを想定して、リベースではなくマージされます)
しかしながら、 git pull -rebase
すでにコミットされているの変更をマスターブランチの更新されたヘッドに移動します。ダーティな作業ツリーでこのコマンドを実行しようとすると、次のエラーメッセージが表示されます。
Cannot pull with rebase: You have unstaged changes.
Please commit or stash them.
主題のあなたの質問への簡単な答えは「いいえ」です。
git pull --rebase
とgit pull
の違いは、最初はfetch
+ rebase
を実行し、2番目はfetch
+ merge
を実行することです。ただし、git pull
に実行するように指示するデフォルト以外のgit構成があります。マージの代わりにrebase
。その場合、2つのコマンドは同じになります。
これら2つのコマンドの違いは、コミットされていない変更を隠したり隠したりする必要性にはまったく影響しません。ダーティなワークツリーがある場合は両方ともこれが必要です。そうしないとエラーが発生し、変更をコミットまたは隠しておくように指示されます。
私はこれが1年前の投稿であることを知っていますが...
git pull --rebase
〜vs〜
git stash /git pull /git stash pop
git pull --rebaseは、2つの間のハイブリッドのようなものです。これにより、コミットを保持し、最後にコミットされた(プッシュされた)ファイルを中央リポジトリからプルできます。タイムトラベルみたいだね。爆発音
しかし、質問に答えるために.... Git stash
コミットされていない変更を保持し、プルが終了した後にそれらを元に戻します。
つまり、何かが完全に終わっていないが、中央リポジトリに最新のファイルが必要な場合は、次のようにします。
git stash
git pull
git stash pop
しかし、あなたが何かを終えてそれをコミットしたとしましょう-しかし、誰にもたわごとを言わず、ファイルをコミットしてメイン(中央)リポジトリにプッシュした同僚のティミーは、最初に彼のものを取得してから、スタックにコミットを追加する必要があります、およびプッシュ '日。
コミットがあり、変更をメイン(中央)リポジトリにプッシュしておらず、別の開発者がファイルをコミットしてプッシュしたために中央リポジトリで新しいファイルを取得する必要がある場合は、次を使用します。
git pull --rebase
ハンバーガーを作るときと同じですが、バディが試してほしい自家製チーズを試すのを忘れたので、ここで彼はあなたのスライスを持ってきて、このチーズを塗るために一番上のパンを外してから、パンを元に戻す必要があります-ブームバンビン。チーズバーガー。