git
でローカルリポジトリの最新の変更を取得して使用しています。私はgit pull
を使用しています。 hg
でなぜgitでhg pullをした後にgit pullだけしているのですか
が、私は、なぜgit
からこの差があるだろう、私はまたhg pull
を使用しますが、それは私がhg update
を実行しない作業コピー
を取得するために、その後
実行「HG update」を出力しますか?
git
でローカルリポジトリの最新の変更を取得して使用しています。私はgit pull
を使用しています。 hg
でなぜgitでhg pullをした後にgit pullだけしているのですか
が、私は、なぜgit
からこの差があるだろう、私はまたhg pull
を使用しますが、それは私がhg update
を実行しない作業コピー
を取得するために、その後
実行「HG update」を出力しますか?
他の答えは、実際にはこの質問には答えません。なぜ、GitとMercurialは同じ働きをしないのですか?哲学的に違いはありますか?
Mercurialでは、pull
はpush
の反対です。作業コピーに触れずにローカルリポジトリとリモートリポジトリを同期させます。だから一貫しています。 Gitので
、pull
はMercurialの用語でfetch
プラスmerge
、又はpull
プラスupdate
あります。通常、これはあなたが望むものです。だから、より効率的です。
Distributed Version Control University talkには、Mercurialの動作を明確に示す4-minute markのスライドがあります。その下に
git pull
は内部でgit fetch
とgit merge
を実行しますが、hg pull
はgit fetch
となります。代わりにhg pull -u
を実行してください。このcommand equivalence tableも参照してください。
同等のgit機能を使用するには、MercurialディストリビューションにバンドルされているMercurial拡張機能を有効にします(fetch extensionを参照)。 hg pull -u
が実行されます。
(アプローチの違いのような)いずれかの理論的な差があるか、それだけで語彙の違いです:マイケル・エルンストのVersion control concepts and best practicesは同様の図(以下に含まを)持っていますか? –
厳密な語彙。 Gitフェッチと水銀引き出しは同じことをします。 Mercurialのフェッチとgit pullは同じことをします。 –
@Alexそれは、あなたが「アプローチ」とは何を意味し、どのレベルを見ているかによって異なります。 'hg pull'は通常のユーザが気にするべきレベルで' git fetch'と同じです。もちろん、MercurialとGitは内部的に異なるデータ構造を使用しているため、実装の詳細に技術的な違いがあります。あなたが本当に心配しているのであれば、[hg pull](http://www.selenic.com/mercurial/hg.1.html#pull)と[git fetch](http:// git- scm.com/docs/git-fetch.html)。 Gitの言葉遣いはより技術的で冗長ですが、結局は同じです。 – sschuberth