web-dev-qa-db-ja.com

TortoiseGit:「Git Sync」、「Fetch」、「Pull」の違いは何ですか?

TortoiseSvnからTortoiseGitに移行しています。しかし、予想外の困難を経験しました。

私の作業パラダイムは次のように単純です:

  1. コードを確認する
  2. コードを変更する
  3. コードレビューのために他の人と共有する
  4. 変更をコミットする

以下のような3つのsyntacticallyのようなコマンドを用意するのはなぜですか?

そしてPullFetchも同じアイコンを共有しています。なんとユーザーフレンドリーなデザイン!

enter image description here

13
smwikipedia

これらは3つの異なるコマンドです。

  1. Git pullはgit fetchの後にgit mergeが続きます- こちらを読む
  2. Git fetchはリモートリポジトリに関する情報を取得します- こちらをお読みください
  3. Git syncは、pullおよびPushを意味する1つのコマンドですべてを実行します こちらをお読みください

gitワークフローとsvnワークフローを比較する場合、git pullsvn updateに似ています。 git svnの直接のfetchバージョンはありません。 Git syncは、1つのコマンドでsvn up && svn commitに似ています

24
Tomasz Madeyski

いつでもgit fetchを実行して、refs/remotes //にあるリモート追跡ブランチを更新できます。

git fetch操作は自分のローカルブランチを変更しない refs/headsの下にあり、作業コピーを変更せずに安全に実行できます。バックグラウンドでcronジョブでgit fetchを定期的に実行している人もいます(ただし、これを行うことはお勧めしませんが)。

git pullローカルブランチをリモートで最新の状態にするために行うことですバージョンで、他のリモート追跡ブランチも更新します。

0
Saurabh Oza