clone
コマンドは何をしますか? SVNにそれに相当するものはありますか?
違いは何ですか
git remote add test git://github.com/user/test.git
そして
git clone git://github.com/user/test.git
作成されたレポの名前は重要ですか?
git remote add
は、特定のURLの名前を指定するエントリをgit configに作成するだけです。これを使用するには、既存のgitリポジトリが必要です。
git clone
は、指定したURIにある既存のgitリポジトリをコピーして、新しいgitリポジトリを作成します。
これらは機能的に似ています(試してみてください!):
#git clone REMOTEURL foo
そして:
#mkdir foo #cd foo #git init #git remote add Origin REMOTEURL #git pull Origin master
さて、わずかな違いがありますが、基本的にはおそらく気付かないでしょう。読者に任せた演習として、各ディレクトリの.git/configを比較します。
clone
コマンドは、指定したリポジトリのローカルコピーを作成します。 remote add
は、プッシュまたはプルできるリモートリポジトリを追加します。
clone
と同等のsvnはcheckout
です。
git clone
:
ファイルをコンピューターに物理的にダウンロードします。コンピューターのスペースが必要です。リポジトリが200Mbの場合、そのすべてがダウンロードされ、クローンしたディレクトリに配置されます。
git remote add
:
スペースを取りません!ポインタのようなものです!ディスクの消費は増えません。これは、利用可能なブランチとそのgitコミット履歴のスナップショットを取得するだけです。プロジェクトの実際のファイル/フォルダーは含まれていません。
もしあなたがそうするなら:
git remote add TechLeadRepo git://github.com/user/test.git
その後、コンピューターに何も追加していません。リモートブランチにそれを追加した後、あなたはそのリモート上のすべてのブランチのリストを取得することができます:
git fetch --all
そして、同僚のfeature22ブランチをローカルに導入したい場合は、
git checkout -b myLocalFeature22 TechLeadRepo/feature22
チェックアウトを行った後、最新の変更を取得し、コンピューターからスペースを取ります。明らかに、それはあなたが持っていないすべての新しいコミットのためのスペースを取るだけです。
彼のレポジトリのクローンを作成したら、そのローカルリポジトリのディレクトリに移動して、目的のブランチにチェックアウトする必要があります。