git clone (日本語)

ここでは、git cloneコマンドを詳細に調べます。 git cloneは、既存のリポジトリをターゲットにし、ターゲットリポジトリのクローンまたはコピーを作成するために使用されるGitコマンドラインユーテ このページでは、拡張設定オプションとgit cloneの一般的なユースケースについて説明します。,

  • ローカルまたはリモートリポジトリのクローン
  • 裸のリポジトリのクローン
  • 浅いオプションを使用してリポジトリを部分的にクローンする
  • Git URL構文とサポートされているプロトコル

リポジトリの設定ガイドでは、git cloneの基本的なユースケースについて説明しました。 このページでは、より複雑な複製と構成のシナリオについて説明,

目的:repo-to-repoコラボレーション開発コピー

プロジェクトがすでに中央リポジトリにセットアップされている場合、git cloneコマンドは、ユーザーが開発コピーを取得する最も一般的な方法です。 git initと同様に、複製は通常、一度だけの操作です。 開発者が作業コピーを取得すると、すべてのバージョン管理操作と共同作業はローカルリポジトリを介して管理されます。,

Repo-to-repo collaboration

GITの”作業コピー”という考え方は、SVNリポジトリからコードをチェックアウトすることで得られる作業コピーとは非常に異なることを理解する SVNとは異なり、Gitは作業コピーと中央リポジトリを区別しません—それらはすべて本格的なGitリポジトリです。

これにより、GitとのコラボレーションはSVNとは根本的に異なります。 SVNは中央リポジトリと作業コピーの関係に依存しますが、Gitのコラボレーションモデルはリポジトリ間の相互作用に基づいています。, 代わりにチェック作業コピーにSVN中央リポジトリは、を押したり引いた犯からリポジトリです。

もちろん、特定のGitリポジトリに特別な意味を与えることを止めるものは何もありません。 たとえば、一つのGitリポジトリを”中央”リポジトリとして指定するだけで、Gitを使用して一元化されたワークフローを複製することができます。 重要なのは、これはvcs自体に配線されるのではなく、規則によって達成されることです。,

使用法

git clone主に、既存のリポジトリを指し、そのリポジトリのクローンまたはコピーを新しいディレクトリの別の場所に作成するために のリポジトリに設置できるので地元のファイルシステムやリモートマシンアクセス支援プロトコル Div id=”8e68f196b7″>

コマンドは、既存のGitリポジトリをコピーします。 これはSVN checkoutのようなものですが、”作業コピー”は本格的なGitリポジトリであり、独自の履歴を持ち、独自のファイルを管理し、元のリポジトリから完全に,

利便性として、クローニングは自動的に元のリポジトリを指す”origin”と呼ばれるリモート接続を作成します。 これにより、中央リポジトリとの対話が非常に簡単になります。 この自動接続は、refs/remotes/originの下にリモートブランチヘッドへのGit参照を作成し、remote.origin.urlおよびremote.origin.fetch構成変数

git cloneを使用して示す例は、リポジトリの設定ガイドにあります。, 以下の例では、SSHユーザー名johnを使用して、example.comにアクセス可能なサーバーに格納されている中央リポジトリのローカルコピーを取得する方法を示します。

git clone ssh://[email protected]/path/to/my-project.git 
cd my-project
# Start working on the project

最初のコマンドは、ローカルマシン上のmy-projectフォルダーに新しいGitリポジトリを初期化し、中央リポジトリの内容を設定します。 そして、できるcdのプロジェクトを開始ファイルの編集、スナップショットに結合することで、そのリポジトリ, また、.git拡張子は、複製されたリポジトリから省略されていることに注意してください。 これは、ローカルコピーの非ベアステータスを反映します。

特定のフォルダーへの複製

git clone <repo> <directory>

<repo>にあるリポジトリを、ローカルマシン上の~<directory>!というフォルダーに複製します。

特定のタグの複製

git clone --branch <tag> <repo>

<repo>にあるリポジトリを複製し、<tag>の参照のみを複製します。,

シャロークローン

git clone -depth=1 <repo>

<repo>にあるリポジトリをクローンし、depth=1オプションで指定されたコミットの履歴のみをクローンします。 この例では、<repo>のクローンが作成され、最新のコミットのみが新しいクローンされたレポに含まれます。 浅いクローニングは、広範なコミット履歴を持つリポジトリを操作する場合に最も便利です。 豊富なコミットの歴史の原因となりスケーリング問題などのディスクスペースの使用制限に長い待ち時間がクローニング., シャローコピーを減らすお手伝いができるこれらのスケーリング問題に関する

設定オプション

git clone-branch

-branch引数を使用すると、リモートHEADが指しているブランチの代わりに、クローンする特定のブランチを指定できます。 さらに、同じ効果のためにbranchの代わりにタグを渡すことができます。

git clone -branch new_feature git://remoterepository.git

上記の例では、リモートGitリポジトリからnew_featureブランチのみを複製します。, これは純粋に、リポジトリのHEADrefをダウンロードしてから、必要なrefをさらに取得する必要がある時間を節約するための納得

git clone-mirror vs.git clone-bare

git clone–bare

git init --bare,-bare引数がgit clone,に渡されると、リモートリポジトリのコピーは省略された作業ディレクトリで作成されます。, これは、リポジトリがプッシュおよびプルできるが、直接編集することはできないプロジェクトの履歴で設定されることを意味します。 さらに、-bareリポジトリでは、リポジトリのリモートブランチは構成されません。 git init --bare,のように、これは開発者が直接編集しないホストされたリポジトリを作成するために使用されます。

git clone–mirror

--mirror引数を渡すと、暗黙的に--bare引数も渡されます。, これは、--bareの動作が--mirrorに継承されることを意味します。 編集可能な作業ファイルのない裸のリポジトリになります。 さらに、--mirrorは、リモートリポジトリのすべての拡張参照を複製し、リモートブランチ追跡構成を維持します。 次に、ミラーでgit remoteupdateを実行すると、originリポジトリからのすべての参照が上書きされます。 あなたに正確な”ミラー化”機能を与えます。,

その他の設定オプション

その他のgit cloneオプションの包括的なリストについては、公式のGitドキュメントを参照してください。 このドキュメントでは、他の一般的なオプションについて説明します。

git clone–template

git clone --template=<template_directory> <repo location>

<repo location>のレポを複製し、<template directory>のテンプレートを新しく作成されたローカルブランチに適用します。 Gitテンプレートの徹底的な参照は、git initページで見つけることができます。,

Git Url

Gitには、リモートリポジトリの場所をGitコマンドに渡すために使用される独自のURL構文があります。 git cloneはリモートリポジトリで最も一般的に使用されるため、ここではGit URL構文を調べます。

Git URL protocols

-SSH

Secure Shell(SSH)は、ほとんどのサーバーでデフォルトで一般的に設定されているユビキタス認証されたネットワークプロトコルです。 SSHは認証されたプロトコルなので、接続する前にホスティングサーバーと認証情報を確立する必要があります。, ssh://host.xz/path/to/repo.git/

-GIT

-HTTP

ハイパーテキスト転送プロトコル。 最も一般的にインターネット経由でwebページのHTMLデータを転送するために使用されるwebのプロトコル。 GitはHTTP経由で通信するように設定できます

Summary

このドキュメントでは、git cloneを詳しく調べました。 最も重要なテイクアウトは次のとおりです。
git cloneターゲットリポジトリのコピーを作成するために使用されます

2. ターゲットリポジトリは、ローカルまたはリモート

3です。 Gitの支援を数ネットワークプロトコルで接続するリモートレポ

4., クローンの内容を変更するために利用可能な多くの異なる設定オプションがあります

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

ツールバーへスキップ