設定與配置
取得與建立專案
基本快照
分支與合併
分享與更新專案
檢查與比較
修補
除錯
電子郵件
外部系統
伺服器管理
指南
管理
底層命令
-
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 使用以今天版本的 Git 建立的 SHA-256 儲存庫,而不會遺失資料。
-
--ref-format=
<格式> -
為儲存庫指定指定的參考儲存<格式>。有效值為
-
使用 packed-refs 的鬆散檔案的
files
。這是預設值。 -
適用於 reftable 格式的
reftable
。此格式為實驗性,其內部結構可能會變更。
-
-
--template=
<範本目錄> -
指定將使用範本的目錄。(請參閱下方的「範本目錄」章節。)
-
--separate-git-dir=
<git-dir> -
不要將儲存庫初始化為
$GIT_DIR
或./.git/
的目錄,而是在該處建立一個文字檔案,其中包含指向實際儲存庫的路徑。此檔案作為與檔案系統無關的 Git 符號連結指向儲存庫。如果這是重新初始化,則會將儲存庫移動到指定的路徑。
-
-b
<分支名稱> -
--initial-branch=
<分支名稱> -
將 <分支名稱> 用於新建立的儲存庫中的初始分支。如果未指定,則回復為預設名稱 (目前為
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
相同,但使所有使用者都能讀取儲存庫。 - <權限>
-
<權限> 是以
0
為字首的 3 位數八進位數字,且每個檔案都將具有 <權限> 模式。<權限> 將會覆寫使用者的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]) 和範例 hook 檔案。
預設情況下,所有範例鉤子都是停用的。要啟用其中一個範例鉤子,請將其 .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] 套件的一部分