セットアップと設定
プロジェクトの取得と作成
基本的なスナップショット
ブランチとマージ
プロジェクトの共有と更新
検査と比較
パッチ適用
デバッグ
メール
外部システム
サーバー管理
- 2.48.1 → 2.50.1 変更なし
-
2.48.0
2025-01-10
- 2.47.1 → 2.47.3 変更なし
-
2.47.0
2024-10-06
- 2.45.1 → 2.46.4 変更なし
-
2.45.0
2024-04-29
- 2.44.1 → 2.44.4 変更なし
-
2.44.0
2024-02-23
- 2.43.1 → 2.43.7 変更なし
-
2.43.0
2023-11-20
- 2.42.1 → 2.42.4 変更なし
-
2.42.0
2023-08-21
- 2.38.1 → 2.41.3 変更なし
-
2.38.0
2022-10-02
- 2.35.1 → 2.37.7 変更なし
-
2.35.0
2022-01-24
- 2.30.1 → 2.34.8 変更なし
-
2.30.0
2020-12-27
- 2.29.1 → 2.29.3 変更なし
-
2.29.0
2020-10-19
- 2.28.1 変更なし
-
2.28.0
2020-07-27
- 2.27.1 変更なし
-
2.27.0
2020-06-01
- 2.21.1 → 2.26.3 変更なし
-
2.21.0
2019-02-24
- 2.13.7 → 2.20.5 変更なし
-
2.12.5
2017-09-22
- 2.10.5 → 2.11.4 変更なし
-
2.9.5
2017-07-30
- 2.5.6 → 2.8.6 変更なし
-
2.4.12
2017-05-05
- 2.3.10 変更なし
-
2.2.3
2015-09-04
- 2.1.4 変更なし
-
2.0.5
2014-12-17
概要
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
-
リポジトリをグループ書き込み可能にします (そして、git グループがすべてのユーザーのプライマリグループではない可能性があるため、
g+sx
も)。これは、安全な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]スイートの一部