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.43.0 11/20/23
- 2.42.1 no changes
- 2.42.0 08/21/23
- 2.38.1 → 2.41.0 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
概要
git init [-q | --quiet] [--bare] [--template=<template-directory>] [--separate-git-dir <git-dir>] [--object-format=<format>] [-b <branch-name> | --initial-branch=<branch-name>] [--shared[=<permissions>]] [<directory>]
説明
このコマンドは、空の Git リポジトリを作成します。基本的には、.git
ディレクトリに objects
や refs/heads
、 refs/tags
、 テンプレートファイルなどのサブディレクトリを置くことになります。 何もコミットされていない最初のブランチが作成されます (この名前は後述の --initial-branch
オプションを参照)。
環境変数 $GIT_DIR
が設定されている場合は、リポジトリのベースとして ./.git
の代わりに使用するパスを指定します。
If the object storage directory is specified via the $GIT_OBJECT_DIRECTORY
environment variable then the sha1 directories are created underneath; otherwise, the default $GIT_DIR/objects
directory is used.
既存のリポジトリで’git init’を実行しても安全です。すでにあるものを上書きすることはありません。再度 git init を実行する主な理由は、新しく追加されたテンプレートを取り込むためです (あるいは、--separate—git—dir が指定されている場合はリポジトリを別の場所に移動させるためです)。
オプション
- -q
- --quiet
-
エラーと警告のメッセージのみを出力し、その他の出力はすべて抑制されます。
- --bare
-
ベアリポジトリを作成します。
GIT_DIR
環境が設定されていない場合は、現在の作業ディレクトリに設定されます。 - --object-format=<format>
-
リポジトリのオブジェクトフォーマット(ハッシュアルゴリズム)を指定します。 有効な値は’sha1’と(有効な場合は)'sha256’です。 'sha1’がデフォルトです。
このオプションは実験的なものです!SHA-256サポートは実験的なもので、まだ初期段階にあります。 SHA-256 リポジトリは、一般的に「通常の」SHA-1 リポジトリと作業を共有することができません。 たとえば、SHA-256 リポジトリに関連する Git 内部のファイルフォーマットが、後方互換性のない方法で変更される可能性があることを想定しておく必要があります。
--object-format=sha256
は、テスト目的でのみ使用してください。
- --template=<template-directory>
-
テンプレートを使用するディレクトリを指定します。 (後述の「TEMPLATE DIRECTORY」のセクションを参照)
- --separate-git-dir=<git-dir>
-
Instead of initializing the repository as a directory to either
$GIT_DIR
or./.git/
, create a text file there containing the path to the actual repository. This file acts as a filesystem-agnostic Git symbolic link to the repository.If this is a reinitialization, the repository will be moved to the specified path.
- -b <branch-name>
- --initial-branch=<branch-name>
-
新しく作成されたリポジトリの最初のブランチに、指定された名前を使用します。 指定されていない場合は、デフォルトの名前に戻ります (現在は
master
ですが、将来的には変更される可能性があります。名前はinit.defaultBranch
設定変数でカスタマイズできます)。 -
Gitリポジトリを複数のユーザーで共有することを指定します。 これにより、同じグループに属するユーザーがそのリポジトリにプッシュできるようになります。 指定すると、コンフィグ変数 "core.sharedRepository" が設定され、
$GIT_DIR
以下のファイルやディレクトリが要求されたパーミッションで作成されるようになります。 指定されていない場合、Gitはumask(2)によって報告されたパーミッションを使用します。このオプションには以下の値を指定できますが、値が指定されていない場合はデフォルトで「group」が設定されます。
- umask (or false)
-
umask(2)で報告されたパーミッションを使用します。
--shared
が指定されていない場合の初期設定です。 - group (or true)
-
Make the repository group-writable, (and g+sx, since the git group may not be the primary group of all users). This is used to loosen the permissions of an otherwise safe umask(2) value. Note that the umask still applies to the other permission bits (e.g. if umask is 0022, using group will not remove read privileges from other (non-group) users). See 0xxx for how to exactly specify the repository permissions.
- all (or world or everybody)
-
'group’と同じですが、すべてのユーザーがリポジトリを読み取り可能にします。
- <perm>
-
<perm> is a 3-digit octal number prefixed with
0
and each file will have mode <perm>. <perm> will override users' umask(2) value (and not only loosen permissions as group and all do). 0640 will create a repository which is group-readable, but not group-writable or accessible to others. 0660 will create a repo that is readable and writable to the current user and group, but inaccessible to others (directories and executable files get theirx
bit from ther
bit for corresponding classes of users).
デフォルトでは、共有リポジトリでは設定フラグの receive.denyNonFastForwards
が有効になっており、高速転送ではないプッシュを強制できません。
ディレクトリ を指定した場合は、その中でコマンドが実行されます。このディレクトリが存在しない場合は、作成されます。
テンプレートディレクトリ
テンプレートディレクトリ内のファイルやディレクトリのうち、名前がドットで始まらないものは、$GIT_DIR
の作成後にコピーされます。
テンプレートディレクトリは、以下のいずれかになります(順番に)。
-
--template
オプションで指定された引数。 -
$GIT_TEMPLATE_DIR
環境変数の内容。 -
init.templateDir
構成変数。 -
デフォルトのテンプレートディレクトリ:
/usr/share/git-core/templates
。
デフォルトのテンプレートディレクトリには、いくつかのディレクトリ構造、推奨される「除外パターン」(gitignore[5]を参照)、およびサンプルのフックファイルが含まれています。
サンプルフックは、デフォルトではすべて無効になっています。サンプルフックを有効にするには、フックの名前を変更し、接尾辞 .sample
を削除してください。
フックの実行についての一般的な情報は githooks[5] を参照してください。
CONFIGURATION
Warning
|
Missing See original version for this content. |
Warning
|
Missing See original version for this content. |
GIT
Part of the git[1] suite