Gitコマンドリファレンス -- git-init

Git Init

名前

git-init-

概要

git init [-q | --quiet] [--bare] [--template=<テンプレートディレクトリ>]
	  [--separate-git-dir <git-dir>] [--object-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を実行しても安全です。*既存の内容は上書きされません。再実行する主な目的は、追加された新しいテンプレートを取得するか、--separate-git-dirが指定された場合にリポジトリを別の場所に移動することです。

オプション

--initial-branch 	初期ブランチ名
-q --quiet  エラーと警告のみを表示し、他の出力は抑制されます。
--bare  バーレリポジトリを作成します。GIT_DIRが設定されていない場合、現在の作業ディレクトリになります。
--object-format=<形式>  リポジトリのオブジェクト形式(ハッシュアルゴリズム)を指定します。sha1とsha256が有効値です。デフォルトはsha1です。
--template=<テンプレートディレクトリ>  使用するテンプレートディレクトリを指定します。
--separate-git-dir=<git-dir>  既存のGitリポジトリを分離します。
-b <ブランチ名> 
--initial-branch=<ブランチ名>  新しいリポジトリにおける初期ブランチ名を指定します。省略時はデフォルト名が使用され、init.defaultBranch構成変数でカスタマイズ可能です。
--shared[=(false|true|umask|group|all|world|everybody|<perm>)]    複数のユーザー間でGitリポジトリを共有するために指定します。同じグループに属するユーザーがプッシュできるようになります。設定時にはcore.sharedRepository構成変数が設定され、要求された権限で$GIT_DIR配下のファイルとディレクトリが作成されます。指定しない場合は、Gitはumask権限を使用します。

例:

$ pwd
/d/VSCode/testinit

## リポジトリ a を初期化
$ git init a
Initialized empty Git repository in D:/VSCode/testinit/a/.git/
$ ls a/.git/
HEAD  config  description  hooks/  info/  objects/  refs/

## -q  エラーと警告のみを表示
$ git init a
Reinitialized existing Git repository in D:/VSCode/testinit/a/.git/
$ git init a -q

## バーレリポジトリ b を作成(ディレクトリ内にリポジトリ情報)
$ git init --bare b
Initialized empty Git repository in D:/VSCode/testinit/b/
$ ls b
HEAD  config  description  hooks/  info/  objects/  refs/

## --object-format  オブジェクト形式を指定
$ git init --object-format=sha256 a
fatal: attempt to reinitialize repository with different hash
$ git init --object-format=sha256  c
Initialized empty Git repository in D:/VSCode/testinit/c/.git/
$ cat c/.git/config |grep 'objectfo'
        objectformat = sha256

## --template=<テンプレートディレクトリ>  テンプレートディレクトリを指定
## バーレリポジトリ b にファイルを追加し、それをテンプレートとして a を再初期化
$ echo 'customer template file conent' >  b/myself
$ git init a --template=b
$ cat  a/.git/myself
customer template file conent

## --separate-git-dir=<git-dir>  Gitリポジトリを分離
### 既存の a リポジトリから d に分離されたバーレリポジトリを作成
$ git init --separate-git-dir=d  a
$ ls d
HEAD  config  description  hooks/  info/  myself  objects/  refs/


## -b <ブランチ名>  --initial-branch=<ブランチ名>  初期ブランチ名を指定
$ git init e -b main
Initialized empty Git repository in D:/VSCode/testinit/e/.git/
$ cat e/.git/HEAD
ref: refs/heads/main

タグ: Git コマンドライン リポジトリ管理 版管理 init

8月10日 07:50 投稿