目次
ブランチごとに、新しく作成したディレクトリにウェアハウスのクローンを作成します。クローン化された Git リポジトリ内にリモート追跡ブランチを作成し (追跡ブランチは git ブランチ --remotes を通じて表示できます)、クローン化されたリポジトリの現在アクティブなブランチを作成してローカルの初期ブランチにチェックアウトします。
ホームページ 開発ツール Git git ウェアハウスを取得するための git init および git clone の詳細な例

git ウェアハウスを取得するための git init および git clone の詳細な例

Apr 02, 2022 pm 01:18 PM
git

この記事では、Git に関する関連知識を提供します。主に、既存の Git ストレージ データベースからの git clone を含む、git ウェアハウスを取得するための git init および git clone の関連問題について説明します。ローカル ディレクトリとその他の関連コンテンツが皆様のお役に立てれば幸いです。

git ウェアハウスを取得するための git init および git clone の詳細な例

# 推奨学習: 「

Git チュートリアル

git init と git clone を使用して git ウェアハウスを取得する

通常、Git リポジトリを取得するには 2 つの方法があります:

  • バージョン管理されていないローカル ディレクトリを Git リポジトリに変換します。

  • # # 他のサーバーから既存の Git リポジトリのクローンを作成します;

1 git init はローカル ディレクトリに Git リポジトリを作成します
git init [-q | --quiet] [--bare] [--template=<template_directory>]
           [--separate-git-dir <git dir>]
           [--shared[=<permissions>]] [directory]
ログイン後にコピー

このコマンドは、空の Git データベースを保存するには、

objectsrefs/headsrefs/tags、テンプレート ファイルが基本的に .git# に作成されます。 ## ディレクトリ。 master ブランチの HEAD を参照する初期 HEAD ファイルも作成されます。 $GIT_DIR
環境変数が指定されている場合、リポジトリのベースとして ./.git ディレクトリが置き換えられます。 objects
ディレクトリが $GIT_OBJECT_DIRECTORY 環境変数で指定されている場合、sha1 ディレクトリがこのディレクトリに作成されます。それ以外の場合は、デフォルトの $GIT_DIR/objects になります。 ### 目次。 既存の Git リポジトリで git init を実行しても安全です。既存のものは上書きされません。
git init を再実行する主な理由は、新しく追加されたテンプレートを取得することです (または、 --dependent-git-dir オプションの場合は Git リポジトリを別の場所に移動するためです)。 。

[-q, --quite]
  • エラー メッセージと警告メッセージのみを出力します;
    [--bare]
  • 次のように、.git フォルダーを除いたベア ウェアハウスを作成します。

    ##[--template=]git init --bare
  • は、Git ウェアハウスを初期化するときに、テンプレート フォルダー内のファイルを
  • .git ストレージ データベースにコピーするために使用されます。指定しない場合、デフォルトのコピーは、パスの下の /usr Templates です。 /share/git-core/templates
    、これには次の内容が含まれます:
    $ ls /usr/share/git-core/templates/
    branches  description  hooks  info
    ログイン後にコピー
    独自のデフォルトのパスを指定すると、初期化された Git ストレージ データベースは次のようになります: テンプレートは順番に渡すことができます。 - -template=<DIR> 設定、git init --template$GIT_TEMPLATE_DIR
    環境変数設定、init.templateDir 構成設定、および下位レベルの設定を順番にオーバーライドします。 [--dependent-git-dir <git dir>]
  • デフォルトでは、
  • git init は現在のディレクトリに .git を作成します。 directory
    Git データベースを保存するフォルダー。このコマンドでは、Git ストレージ データベースを初期化し、指定されたディレクトリにリンクする .git ファイルをローカルに作成するためのパスを指定できます: ローカルに .git
    ファイルが 1 つだけあることがわかります。このファイルは、現在のウェアハウスの Git ストレージ データベースの特定の場所を記述しており、自動的にそれにリンクされます。 git init --separate
    [--shared[=<permissions>]]
  • 作成された Git ストレージ データベースの読み取りおよび書き込み権限 (同じグループ内のユーザーの権限を含む) を指定するために使用されます。 、すべてのユーザーなど。設定が指定されていない場合、デフォルトで
  • group 権限が設定されます。興味がある場合は、git init --help
    を実行して、このオプションの具体的な使用方法を確認してください。 [ディレクトリ]
  • このオプションが指定されている場合、
  • git init コマンドはこのディレクトリで実行され、実行される場合はディレクトリが作成されます。存在しない。 。
    2 git clone 既存の Git ストレージ データベースからローカル ディレクトリにウェアハウスのクローンを作成します。
git clone [--template=<template_directory>]
          [-l] [-s] [--no-hardlinks] [-q] [-n] [--bare] [--mirror]
          [-o <name>] [-b <name>] [-u <upload-pack>] [--reference <repository>]
          [--dissociate] [--separate-git-dir <git dir>]
          [--depth <depth>] [--[no-]single-branch] [--no-tags]
          [--recurse-submodules[=<pathspec>]] [--[no-]shallow-submodules]
          [--[no-]remote-submodules] [--jobs <n>] [--sparse] [--] <repository>
          [<directory>]
ログイン後にコピー

ブランチごとに、新しく作成したディレクトリにウェアハウスのクローンを作成します。クローン化された Git リポジトリ内にリモート追跡ブランチを作成し (追跡ブランチは git ブランチ --remotes を通じて表示できます)、クローン化されたリポジトリの現在アクティブなブランチを作成してローカルの初期ブランチにチェックアウトします。

クローン作成が完了した後、パラメータなしの

git fetch コマンドはすべてのリモート追跡ブランチを更新でき、パラメータなしの git pull
コマンドもリモート マスター ブランチをマージします。現在のブランチ。 このデフォルト設定は、refs/remotes/origin にリモート ブランチ ヘッドへの参照を作成し、remote.origin.url
remote.origin を初期化することによって作成されます。 fetch 構成変数によって実装されます。 <ul> <li> <code>[--template=<template_directory>]
请看git init相关选项获取此选项作用。

  • [-l, --local]
    用于从本地Git存储仓库克隆Git存储数据库,此选项会拷贝本地的refs,HEAD等信息到克隆的Git存储数据库,并将.git/objects通过硬链接形式链接到本地Git存储库以节约本地空间。
    如果未指定-l选项但[url]是本地路径则还是会默认进行-l选项的行为,但是如果指定的是--no-local选项对本地仓库进行克隆则会走默认的git clone流程:
    git clone --no-local
  • [-s, --shared]
    当克隆的仓库在本地时,默认是将本地仓库中.git/objects的对象通过硬链接的方式链接到本地的克隆仓库,使用此选项不会再硬链接.git/objects目录,而是在本地的.git/objects/info目录中创建一个alternates文件并在其中描述objects原先的位置并进行共享使用。
    注意:这个选项是一个危险的选项,除非你明白它的作用,否则不要使用它。如果使用这个选项克隆了本地仓库,然后删除了源仓库中的分支,一些对象可能会变成未被引用状态。而这些对象是可能被git的命令(git commit内部可能自动调用git gc --atuo)删除的,从而导致仓库被破坏。
    还需要注意:在用-s选项克隆的存储库中运行git repack时,如果没有指定--local,-l选项,则会将源存储库中的objects复制到克隆存储库中的一个包里面,从而消除了--shared选项带来的共享效果和节省的空间。直接运行git gc是安全的,因为默认使用的--local,-l选项。
    如果想在-s选项指定的仓库中打破对共享的依赖,则可以使用git repack -a命令将源存储库中的所有对象复制到克隆的存储库的一个包中。
  • [--no-hardlinks]
    强制在克隆本地仓库时使用拷贝的形式复制.git/objects中的内容而不是使用硬链接的形式,在进行Git存储库备份时这个选项就很有用。
  • [-q, --quite]
    安静的运行命令,进度不会报告到标准错误流中。
  • [-n, --no-checkout]
    克隆完成后不执行检出HEAD操作:
    git clone -n
  • [--bare]
    创建一个裸的Git仓库。也就是说不创建<directory>/.git目录也不会将管理文件放到<directory>/.git中,而是为自己创建一个<directory>或者<directory>.git目录,里面保存的就是实际的Git数据库。这个选项也默认是--no-checkout的,不会检出任何HEAD,也不会自动跟踪任何远程分支,也不会创建相关的配置变量。
  • [--mirror]
    设置源Git存储库的镜像。类似于--bare,对比--bare--mirror不仅仅映射源的本地分支到目标的本地分支,它还映射所有引用(包括远程跟踪分支,笔记等),并设置refspec配置,以便所有这些引用都被目标存储库中的git远程更新覆盖。
    注意:--bare--mirror都是针对服务器使用,因为服务器只需要保存Git存储数据库而不需要实际操作git命令,所以当你在这两个选项创建的存储库执行Git命令会得到下面的打印:
    fatal: this operation must be run in a work tree
    ログイン後にコピー
  • [-o <name>, --origin <name>]
    未使用此选项时默认使用origin来跟踪远程仓库,使用此选项后使用<name>来跟踪远程仓库。
  • [-b <name>, --branch <name>]
    不要将新创建的HEAD指向克隆仓库HEAD指向的分支,而是指向<name>分支。
  • [-u <upload-pack>, --upload-pack <upload-pack>]
    在使用ssh访问要克隆的Git存储库时,它为另一端运行的命令指定了一个非默认的路径。这个选项主要针对Git服务器使用,为服务器使用的git等指定了一个路径。一般是/usr/bin/git-upload-pack,当服务器的git运行时会自动找到此路径的程序。
  • [--reference[-if-able] <repository>]
    参照される Git リポジトリがローカル マシン上にある場合、.git/objects/info/alternates ファイルは、既存の代わりに、Git リポジトリでは、ソース リポジトリからコピーする必要のある オブジェクト が少なくなるため、ネットワークとローカル ストレージのコストが削減されます。 --reference-if-able を使用すると、存在しないディレクトリはスキップされ、クローン作成が中止される代わりに警告が発行されます。
  • [--dissociate]
  • --reference
    によって参照される Git リポジトリから objects オブジェクトを借用すると、ネットワーク送信が減少するだけです。クローン作成後に、借用した objects の必要なローカル コピーを作成して、参照ライブラリからのオブジェクトの借用を停止します。ローカル クローンがすでに別のリポジトリから objects を借用している場合、このオプションを使用して、新しいリポジトリが同じリポジトリから objects を借用するのを停止できます。このオプションは主に Git サーバーにも使用されます。
  • [-- Separate-git-dir ]
  • このオプションの効果を得るには、git init
    関連オプションを参照してください。
  • [-- Depth < Depth>]
  • クローンを作成する必要があるコミットの数を < Depth>
    で指定して浅いクローンを作成します。 、および取得 すべてのブランチの上位コミットが、< Depth> コミット数でローカルに複製されます。単純にサブモジュールのクローンを作成したい場合は、--shallow-submodules オプションを渡すこともできます。
  • [--[no-]single-branch]
  • 名前が示すように、--single-branch
    は指定されたブランチのみをクローンします。 Git リポジトリ 、リモート Git リポジトリ内の他のブランチはローカルに複製されず、他のリモート ブランチもローカルに追跡されず、単一のリモート ブランチのみが追跡されます。
  • [--no-tags]
  • タグのクローンを作成せず、設定タグに remote..tarOpt=--no- を設定します
    タグが明示的に操作されない限り、後続の git pullgit fetch がタグに対して動作しないようにします。 --single-branch
    とともに使用すると、単一のブランチを維持できます。これは、特定のデフォルト ブランチのみを維持する場合に便利です。
  • [--recurse-submodules[=<pathspec>]]
  • クローンの作成後、指定された モジュール。<pathspec> が指定されていない場合、すべてのサブモジュールが初期化され、クローンが作成されます。このオプションは、複数のエントリを持つ <parhspec> に対して複数回指定できます。 このオプションをデフォルトで使用することは、git submodule update --init --recursive <pathspec>
    を実行することと同じです。
  • [--[no-]shallow-submodules]
  • クローン化されたすべてのサブモジュールの浅いクローンの深さは 1 です。
  • [--[no-]remote-submodules]
  • すべての複製されたサブモジュールのリモート追跡ブランチのステータスを更新して、Git データベースに記録する代わりにサブモジュールを更新します。 SHA1。 --remote
    オプションを git submodule update に渡すことと同じです。
  • [-j , --jobs ]
  • 同時にフェッチされるサブモジュールの数。デフォルトはconfigurationsubmoduleです。 fetchJobs
  • [--sparse]
  • スパース チェックアウト モード、いわゆるスパース チェックアウトとは、ローカル リポジトリをチェックアウトするときに、すべてをチェックアウトするのではなく、ローカル リポジトリから指定されたファイルがワークスペースにチェックアウトされますが、その他の指定されていないファイルはチェックアウトされません (これらのファイルがワークスペースに存在する場合でも、その変更は無視されます)。この機能については、ここでは詳しく説明しません。
  • [--]
  • には実際的な効果はなく、区別しやすくするためにオプションと操作オブジェクトを分離するだけです。
  • <リポジトリ>
  • クローンを作成するウェアハウスは、リモート ウェアハウスまたはローカル ウェアハウスの場合があり、https
    プロトコルまたは ssh プロトコルまたは git プロトコルなど。
  • [<ディレクトリ>]
  • このディレクトリを指定すると、Git リポジトリがこのディレクトリに複製されます。
  • -v, --verbose
  • クローン情報の詳細な出力。
  • [-c =, --config = リポジトリのクローン作成時に新しく作成した Git を保存します。ライブラリは構成変数を設定します。これはクローン作成の完了直後に有効になります
    推奨学習: "
    Git チュートリアル

    "

    以上がgit ウェアハウスを取得するための git init および git clone の詳細な例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

    ホットAIツール

    Undresser.AI Undress

    Undresser.AI Undress

    リアルなヌード写真を作成する AI 搭載アプリ

    AI Clothes Remover

    AI Clothes Remover

    写真から衣服を削除するオンライン AI ツール。

    Undress AI Tool

    Undress AI Tool

    脱衣画像を無料で

    Clothoff.io

    Clothoff.io

    AI衣類リムーバー

    AI Hentai Generator

    AI Hentai Generator

    AIヘンタイを無料で生成します。

    ホットツール

    メモ帳++7.3.1

    メモ帳++7.3.1

    使いやすく無料のコードエディター

    SublimeText3 中国語版

    SublimeText3 中国語版

    中国語版、とても使いやすい

    ゼンドスタジオ 13.0.1

    ゼンドスタジオ 13.0.1

    強力な PHP 統合開発環境

    ドリームウィーバー CS6

    ドリームウィーバー CS6

    ビジュアル Web 開発ツール

    SublimeText3 Mac版

    SublimeText3 Mac版

    神レベルのコード編集ソフト(SublimeText3)

    H5プロジェクトの実行方法 H5プロジェクトの実行方法 Apr 06, 2025 pm 12:21 PM

    H5プロジェクトを実行するには、次の手順が必要です。Webサーバー、node.js、開発ツールなどの必要なツールのインストール。開発環境の構築、プロジェクトフォルダーの作成、プロジェクトの初期化、コードの書き込み。開発サーバーを起動し、コマンドラインを使用してコマンドを実行します。ブラウザでプロジェクトをプレビューし、開発サーバーURLを入力します。プロジェクトの公開、コードの最適化、プロジェクトの展開、Webサーバーの構成のセットアップ。

    自分でH5ページを作成する方法を学ぶことができますか? 自分でH5ページを作成する方法を学ぶことができますか? Apr 06, 2025 am 06:36 AM

    自習H5ページの生産が可能ですが、迅速な成功ではありません。設計、フロントエンド開発、バックエンド相互作用ロジックを含むHTML、CSS、およびJavaScriptをマスターする必要があります。練習が鍵であり、チュートリアルを完成させ、資料のレビューを行い、オープンソースプロジェクトに参加することで学びます。パフォーマンスの最適化も重要であり、画像の最適化、HTTP要求の削減、適切なフレームワークの使用が必要です。自習への道は長く、継続的な学習とコミュニケーションが必要です。

    ブートストラップが変更された後の結果を表示する方法 ブートストラップが変更された後の結果を表示する方法 Apr 07, 2025 am 10:03 AM

    変更されたブートストラップの結果を表示する手順:ブラウザでHTMLファイルを直接開き、ブートストラップファイルが正しく参照されることを確認します。ブラウザキャッシュ(Ctrl Shift R)をクリアします。 CDNを使用する場合、開発者ツールでCSSを直接​​変更して、エフェクトをリアルタイムで表示できます。 Bootstrapソースコードを変更する場合は、ローカルファイルをダウンロードして交換するか、Webpackなどのビルドツールを使用してビルドコマンドを再実行します。

    Vue Paginationの使用方法 Vue Paginationの使用方法 Apr 08, 2025 am 06:45 AM

    ページネーションは、パフォーマンスとユーザーエクスペリエンスを向上させるために、大きなデータセットを小さなページに分割するテクノロジーです。 VUEでは、次の組み込みメソッドを使用してページを使用できます。ページの総数を計算します。TotalPages()トラバーサルページ番号:V-For Directive on Currentページを設定します。

    hadidb:pythonの軽量で水平方向にスケーラブルなデータベース hadidb:pythonの軽量で水平方向にスケーラブルなデータベース Apr 08, 2025 pm 06:12 PM

    hadidb:軽量で高レベルのスケーラブルなPythonデータベースHadIDB(HadIDB)は、Pythonで記述された軽量データベースで、スケーラビリティが高くなっています。 PIPインストールを使用してHADIDBをインストールする:PIPINSTALLHADIDBユーザー管理CREATEユーザー:CREATEUSER()メソッド新しいユーザーを作成します。 Authentication()メソッドは、ユーザーのIDを認証します。 fromhadidb.operationimportuseruser_obj = user( "admin"、 "admin")user_obj。

    Prometheus MySQL ExporterでMySQLおよびMariadb液滴を監視します Prometheus MySQL ExporterでMySQLおよびMariadb液滴を監視します Apr 08, 2025 pm 02:42 PM

    MySQLおよびMariaDBデータベースの効果的な監視は、最適なパフォーマンスを維持し、潜在的なボトルネックを特定し、システム全体の信頼性を確保するために重要です。 Prometheus MySQL Exporterは、プロアクティブな管理とトラブルシューティングに重要なデータベースメトリックに関する詳細な洞察を提供する強力なツールです。

    ブートストラップのJavaScriptの動作を表示する方法 ブートストラップのJavaScriptの動作を表示する方法 Apr 07, 2025 am 10:33 AM

    BootstrapのJavaScriptセクションは、静的なページに活力を与えるインタラクティブなコンポーネントを提供します。オープンソースコードを見ると、それがどのように機能するかを理解できます。イベントバインディングはDOMの操作とスタイルの変更をトリガーします。基本的な使用には、JavaScriptファイルの導入とAPIの使用が含まれ、高度な使用にはカスタムイベントと拡張機能が含まれます。よくある質問には、バージョンの競合やCSSスタイルの競合が含まれます。これは、コードをダブルチェックすることで解決できます。パフォーマンスの最適化のヒントには、オンデマンドの読み込みとコード圧縮が含まれます。 Bootstrap JavaScriptをマスターするための鍵は、その設計コンセプトを理解し、実用的なアプリケーションを組み合わせ、開発者ツールを使用してデバッグと探索することです。

    gitはgithubと同じですか? gitはgithubと同じですか? Apr 08, 2025 am 12:13 AM

    gitとgithubは同じものではありません。 Gitはバージョン制御システムであり、GithubはGitベースのコードホスティングプラットフォームです。 GITはコードバージョンの管理に使用され、GitHubはオンラインコラボレーション環境を提供します。

    See all articles