296

mkdir repo(後と)を行うことの違いは何ですかcd repo

git init
git remote add origin git://github.com/cmcculloh/repo.git
git fetch --all
git pull origin master

git clone git://github.com/cmcculloh/repo.git

つまり、明らかに1つは短いですが、それ以外は基本的に同じことをしていますか?

4

12 に答える 12

294

git clone既存のリポジトリのローカル コピーを取得して作業する方法です。複数の作業コピーを持ちたい場合を除き、通常、特定のリポジトリに対して 1 回だけ使用されます。(または、ローカルのものを台無しにした後にクリーンなコピーを取得したい...)

git pull(またはgit fetch+ git merge) は、リモート リポジトリからの新しいコミットでそのローカル コピーを更新する方法です。他の人と共同作業をしている場合は、頻繁に実行するコマンドです。

git clone最初の例が示すように、他のさまざまな git コマンドでエミュレートすることは可能ですが、実際にgit pullは「基本的に同じこと」を行っているわけではありませんgit clone(またはその逆)。

于 2010-09-02T01:09:11.957 に答える
143

clone がマスターだけでなく、追加のリモート追跡ブランチをセットアップすることを除いて、それらは基本的に同じです。マニュアルページをチェックしてください:

新しく作成されたディレクトリにリポジトリを複製し、複製されたリポジトリ (git branch -r を使用して表示可能) 内の各ブランチのリモート追跡ブランチを作成し、複製されたリポジトリの現在アクティブなブランチからフォークされた初期ブランチを作成してチェックアウトします。

于 2010-09-01T17:38:02.513 に答える
142

素人の言葉では、次のように言えます。

  • Clone : リモート リポジトリの作業コピーを取得します。
  • プル: 私はこれに取り組んでいます。他の人によって更新される可能性のある新しい変更を入手してください。
于 2013-07-17T08:28:34.283 に答える
2

このgit fetchコマンドは、まだ持っていないサーバー上のすべての変更を取得しますが、作業ディレクトリはまったく変更しません。単純にデータを取得し、自分でマージできるようにします。ただし、ほとんどの場合、git pull本質的にgit fetch直後に a が続くコマンドが呼び出されます。git merge

詳細: https://git-scm.com/book/en/v2/Git-Branching-Remote-Branches#Pulling

于 2016-10-01T10:49:12.763 に答える