Setup and Config
Getting and Creating Projects
Basic Snapshotting
Branching and Merging
Sharing and Updating Projects
Inspection and Comparison
Patching
Debugging
External Systems
Server Admin
Guides
- gitattributes
- Command-line interface conventions
- Everyday Git
- Frequently Asked Questions (FAQ)
- Glossary
- Hooks
- gitignore
- gitmodules
- Revisions
- Submodules
- Tutorial
- Workflows
- All guides...
Administration
Plumbing Commands
- 2.47.0 10/06/24
- 2.45.1 → 2.46.2 no changes
- 2.45.0 04/29/24
- 2.44.1 → 2.44.2 no changes
- 2.44.0 02/23/24
- 2.43.1 → 2.43.5 no changes
- 2.43.0 11/20/23
- 2.42.1 → 2.42.3 no changes
- 2.42.0 08/21/23
- 2.38.1 → 2.41.2 no changes
- 2.38.0 10/02/22
- 2.35.1 → 2.37.7 no changes
- 2.35.0 01/24/22
- 2.30.1 → 2.34.8 no changes
- 2.30.0 12/27/20
- 2.29.1 → 2.29.3 no changes
- 2.29.0 10/19/20
- 2.28.1 no changes
- 2.28.0 07/27/20
- 2.27.1 no changes
- 2.27.0 06/01/20
- 2.21.1 → 2.26.3 no changes
- 2.21.0 02/24/19
- 2.13.7 → 2.20.5 no changes
- 2.12.5 09/22/17
- 2.10.5 → 2.11.4 no changes
- 2.9.5 07/30/17
- 2.5.6 → 2.8.6 no changes
- 2.4.12 05/05/17
- 2.3.10 no changes
- 2.2.3 09/04/15
- 2.1.4 no changes
- 2.0.5 12/17/14
概要
git init [-q | --quiet] [--bare] [--template=<テンプレートディレクトリ>] [--separate-git-dir <gitディレクトリ>] [--object-format=<フォーマット>] [--ref-format=<フォーマット>] [-b <ブランチ名> | --initial-branch=<ブランチ名>] [--shared[=<パーミッション>]] [<ディレクトリ>]
説明
このコマンドは、空の Git リポジトリを作成します。基本的には、.git
ディレクトリに objects
や refs/heads
、 refs/tags
、 テンプレートファイルなどのサブディレクトリを置くことになります。何もコミットされていない最初のブランチが作成されます (この名前は後述の --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バージョンでもデータ損失なしに使用可能であると予想されます。
Warning
|
Missing See original version for this content. |
- --template=<テンプレートディレクトリ>
-
テンプレートを使用するディレクトリを指定します。(後述の「TEMPLATE DIRECTORY」のセクションを参照)
- --separate-git-dir=<gitディレクトリ>
-
リポジトリを
$GIT_DIR
や./.git/
のようなディレクトリとして初期化するのではなく、実際のリポジトリへのパスを含むテキストファイルをそこに作成します。このファイルは、ファイルシステムにとらわれない Git のリポジトリへのシンボリックリンクとして機能します。再初期化の場合は、リポジトリは指定したパスに移動します。
- -b <ブランチ名>
- --initial-branch=<ブランチ名>
-
新しく作成されたリポジトリの最初のブランチに、指定された名前を使用します。指定されていない場合は、デフォルトの名前に戻ります (現在は
master
ですが、将来的には変更される可能性があります。名前はinit.defaultBranch
設定変数でカスタマイズできます)。 -
Gitリポジトリを複数のユーザーで共有することを指定します。これにより、同じグループに属するユーザーがそのリポジトリにプッシュできるようになります。指定すると、コンフィグ変数 "core.sharedRepository" が設定され、
$GIT_DIR
以下のファイルやディレクトリが要求されたパーミッションで作成されるようになります。指定されていない場合、Gitはumask(2)によって報告されたパーミッションを使用します。このオプションには以下の値を指定できますが、値が指定されていない場合はデフォルトで「group」が設定されます。
- umask (or false)
-
umask(2)で報告されたパーミッションを使用します。
--shared
が指定されていない場合の初期設定です。 - group (or true)
-
リポジトリをグループ書き込み可能にします (git グループがすべてのユーザーのプライマリグループではない場合があるので、g+sx も)。これは、安全なumask(2)の値のパーミッションを緩めるために使われます。ただし、umask は他のパーミッションビットにも適用されることに注意しましょう (たとえば umask が 0022 の場合、group を使っても他の (グループではない) ユーザーから読み取り権限を奪うことはできません)。リポジトリのパーミッションを正確に指定する方法については、'0xxx’を参照してください。
- all (or world or everybody)
-
'group’と同じですが、すべてのユーザーがリポジトリを読み取り可能にします。
- <パーミッション>
-
<パーミッション> は
0
の接頭辞が付いた3桁の8進数で、各ファイルは <パーミッション> のモードを持ちます。 <パーミッション> は、ユーザーのumask(2)の値を上書きします(group や all のようにパーミッションが緩くなるだけではありません)。0640 は、グループでの読み取りは可能ですが、グループでの書き込みや他の人からのアクセスはできないリポジトリを作成します。0660 は、現在のユーザーとグループは読み書き可能だが、他のユーザーにはアクセスできないリポジトリを作成します(ディレクトリと実行可能ファイルは対応するユーザークラスのr
ビットからx
ビットを取得します)。
デフォルトでは、共有リポジトリでは設定フラグの receive.denyNonFastForwards
が有効になっており、高速転送ではないプッシュを強制できません。
ディレクトリ を指定した場合は、その中でコマンドが実行されます。このディレクトリが存在しない場合は、作成されます。
テンプレートディレクトリ
テンプレートディレクトリ内のファイルやディレクトリのうち、名前がドットで始まらないものは、$GIT_DIR
の作成後にコピーされます。
テンプレートディレクトリは、以下のいずれかになります(順番に)。
-
--template
オプションで指定された引数。 -
$GIT_TEMPLATE_DIR
環境変数の内容。 -
init.templateDir
構成変数。 -
デフォルトのテンプレートディレクトリ:
/usr/share/git-core/templates
。
デフォルトのテンプレートディレクトリには、いくつかのディレクトリ構造、推奨される「除外パターン」(gitignore[5]を参照)、およびサンプルのフックファイルが含まれています。
サンプルフックは、デフォルトではすべて無効になっています。サンプルフックを有効にするには、フックの名前を変更し、接尾辞 .sample
を削除してください。
フックの実行についての一般的な情報は githooks[5] を参照してください。
設定
Warning
|
Missing See original version for this content. |
Warning
|
Missing See original version for this content. |
GIT
Part of the git[1] suite