設定と構成
プロジェクトの取得と作成
基本的なスナップショット
ブランチとマージ
プロジェクトの共有と更新
検査と比較
パッチ
デバッグ
メール
外部システム
サーバー管理
-
2.47.0
10/06/24
- 2.45.1 → 2.46.2 変更なし
-
2.45.0
04/29/24
- 2.44.1 → 2.44.2 変更なし
-
2.44.0
02/23/24
- 2.43.1 → 2.43.5 変更なし
-
2.43.0
11/20/23
- 2.42.1 → 2.42.3 変更なし
-
2.42.0
08/21/23
- 2.38.1 → 2.41.2 変更なし
-
2.38.0
10/02/22
- 2.35.1 → 2.37.7 変更なし
-
2.35.0
01/24/22
- 2.30.1 → 2.34.8 変更なし
-
2.30.0
12/27/20
- 2.29.1 → 2.29.3 変更なし
-
2.29.0
10/19/20
- 2.28.1 変更なし
-
2.28.0
07/27/20
- 2.27.1 変更なし
-
2.27.0
06/01/20
- 2.21.1 → 2.26.3 変更なし
-
2.21.0
02/24/19
- 2.13.7 → 2.20.5 変更なし
-
2.12.5
09/22/17
- 2.10.5 → 2.11.4 変更なし
-
2.9.5
07/30/17
- 2.5.6 → 2.8.6 変更なし
-
2.4.12
05/05/17
- 2.3.10 変更なし
-
2.2.3
09/04/15
- 2.1.4 変更なし
-
2.0.5
12/17/14
概要
git init
[-q
|--quiet
] [--bare
] [--template=
<template-directory>] [--separate-git-dir
<git-dir>] [--object-format=
<format>] [--ref-format=
<format>] [-b
<branch-name> |--initial-branch=
<branch-name>] [--shared
[=
<permissions>]] [<directory>]
説明
このコマンドは空の Git リポジトリを作成します。基本的に、objects
、refs/heads
、refs/tags
、およびテンプレートファイルのためのサブディレクトリを含む .git
ディレクトリです。コミットのない初期ブランチが作成されます(名前については、以下の --initial-branch
オプションを参照してください)。
$GIT_DIR
環境変数が設定されている場合、リポジトリのベースとして ./.git
の代わりに使用するパスを指定します。
オブジェクトストレージディレクトリが $GIT_OBJECT_DIRECTORY
環境変数で指定されている場合、sha1 ディレクトリはその下に作成されます。それ以外の場合は、デフォルトの $GIT_DIR/objects
ディレクトリが使用されます。
既存のリポジトリで git init
を実行しても安全です。既に存在するものは上書きされません。git init
を再実行する主な理由は、新しく追加されたテンプレートを取得するためです(または、--separate-git-dir
が指定されている場合、リポジトリを別の場所に移動するためです)。
オプション
歴史的には、そのような相互運用性機能を導入する際に、SHA-256 リポジトリは後で下位互換性のない変更が必要になる可能性があると警告していました。今日では、互換性のある変更のみを期待しています。さらに、そのような変更が必要になった場合でも、今日の Git で作成された SHA-256 リポジトリは、データ損失なしで将来のバージョンの Git で使用できると予想されます。
-
--ref-format=
<format> -
リポジトリに指定された参照ストレージ<format>を指定します。有効な値は次のとおりです。
-
files
は、packed-refs を使用した個別のファイルです。これがデフォルトです。 -
reftable
は reftable 形式です。この形式は実験的なものであり、内部構造は変更される可能性があります。
-
-
--template=
<template-directory> -
テンプレートを使用するディレクトリを指定します。(以下の「テンプレートディレクトリ」セクションを参照してください。)
-
--separate-git-dir=
<git-dir> -
リポジトリを
$GIT_DIR
または./.git/
のいずれかのディレクトリとして初期化するかわりに、実際のレポジトリへのパスを含むテキストファイルを作成します。このファイルは、リポジトリへのファイルシステムに依存しない Git シンボリックリンクとして機能します。再初期化の場合、リポジトリは指定されたパスに移動されます。
-
-b
<branch-name> -
--initial-branch=
<branch-name> -
新しく作成されたリポジトリの初期ブランチに<branch-name>を使用します。指定されていない場合、デフォルト名(現在は
master
ですが、これは将来変更される可能性があります。名前はinit.defaultBranch
構成変数でカスタマイズできます)に戻ります。 -
Git リポジトリが複数のユーザー間で共有されることを指定します。これにより、同じグループに属するユーザーは、そのリポジトリにプッシュできます。指定されると、
core.sharedRepository
構成変数が設定され、$GIT_DIR
配下のファイルとディレクトリが要求されたパーミッションで作成されます。指定されない場合、Git はumask
(2) によって報告されたパーミッションを使用します。このオプションには次の値を指定できます。値が指定されない場合は、デフォルトで
group
になります。-
umask
-
false
-
umask
(2) によって報告されたパーミッションを使用します。--shared
が指定されていない場合のデフォルトです。 -
group
-
true
-
リポジトリをグループ書き込み可能にします(および
g+sx
。Git グループはすべてのユーザーのプライマリグループではない可能性があるためです)。これは、安全なumask
(2) の値のパーミッションを緩和するために使用されます。umask は他のパーミッションビットにも適用されることに注意してください(たとえば、umask が0022
の場合、group
を使用しても、他の(グループ以外の)ユーザーからの読み取り権限は削除されません)。リポジトリのパーミッションを正確に指定する方法については、0xxx
を参照してください。 -
all
-
world
-
everybody
-
group
と同じですが、すべてユーザーがリポジトリを読み取れるようにします。 - <perm>
-
<perm> は
0
で始まる 3 桁の 8 進数であり、各ファイルのモードは <perm> になります。<perm> はユーザーのumask
(2) の値を上書きします(group
とall
のようにパーミッションを緩和するだけではありません)。0640
は、グループが読み取り可能だが、グループが書き込み可能ではなく、他の人がアクセスできないリポジトリを作成します。0660
は、現在のユーザーとグループで読み取りと書き込みが可能だが、他の人はアクセスできないリポジトリを作成します(ディレクトリと実行可能ファイルは、対応するユーザーのクラスのr
ビットからx
ビットを取得します)。
-
デフォルトでは、共有リポジトリでは構成フラグ receive.denyNonFastForwards
が有効になっているため、強制的な非高速フォワードプッシュはできません。
<directory> を指定すると、コマンドはその中で実行されます。このディレクトリが存在しない場合、作成されます。
テンプレートディレクトリ
名前がドットで始まらないテンプレートディレクトリ内のファイルとディレクトリは、作成後に $GIT_DIR
にコピーされます。
テンプレートディレクトリは次のいずれかになります(この順序で)。
-
--template
オプションで指定された引数。 -
$GIT_TEMPLATE_DIR
環境変数の内容。 -
init.templateDir
構成変数。 -
デフォルトのテンプレートディレクトリ:
/usr/share/git-core/templates
。
デフォルトのテンプレートディレクトリには、いくつかのディレクトリ構造、推奨される「除外パターン」(gitignore[5] を参照)、およびサンプルフックファイルが含まれています。
サンプルフックはデフォルトですべて無効になっています。サンプルフックを有効にするには、.sample
サフィックスを削除して名前を変更します。
フックの実行に関するより一般的な情報については、githooks[5] を参照してください。
設定
このセクションのこの行以降の内容は、git-config[1] ドキュメントから選択的に含まれています。内容はそちらにあるものと同じです。
-
init.templateDir
-
テンプレートをコピーするディレクトリを指定します。
-
init.defaultBranch
-
新しいリポジトリを初期化する場合などに、デフォルトのブランチ名を上書きできます。
-
init.defaultObjectFormat
-
新しいリポジトリのデフォルトのオブジェクト形式を上書きできます。git-init[1] の
--object-format=
を参照してください。コマンドラインオプションとGIT_DEFAULT_HASH
環境変数の両方が、この設定よりも優先されます。 -
init.defaultRefFormat
-
新しいリポジトリのデフォルトの参照ストレージ形式を上書きできます。git-init[1] の
--ref-format=
を参照してください。コマンドラインオプションとGIT_DEFAULT_REF_FORMAT
環境変数の両方が、この設定よりも優先されます。
Git
git[1] スイートの一部