• git-init
    • 名称
    • 概要
    • 描述
    • OPTIONS
    • 模板目录
    • 例子
    • GIT

    git-init

    原文: https://git-scm.com/docs/git-init

    名称

    git-init - 创建一个空的Git存储库或重新初始化现有存储库

    概要

    1. git init [-q | --quiet] [--bare] [--template=<template_directory>]
    2. [--separate-git-dir <git dir>]
    3. [--shared[=<permissions>]] [directory]

    描述

    此命令创建一个空的Git存储库 - 基本上是一个.git目录,其中包含objectsrefs/headsrefs/tags和模板文件的子目录。还创建了引用主分支的HEAD的初始HEAD文件。

    如果设置了$GIT_DIR环境变量,则它指定要使用的路径而不是./.git作为存储库的基础。

    如果通过$GIT_OBJECT_DIRECTORY环境变量指定了对象存储目录,则在下面创建sha1目录 - 否则使用默认的$GIT_DIR/objects目录。

    在现有存储库中运行 git init 是安全的。它不会覆盖已存在的东西。重新运行 git init 的主要原因是获取新添加的模板(或者如果给出了—separate-git-dir,则将存储库移动到另一个地方)。

    OPTIONS

    1. -q
    1. --quiet

    仅打印错误和警告消息;所有其他输出都将被抑制。

    1. --bare

    创建一个裸存储库。如果未设置GIT_DIR环境,则将其设置为当前工作目录。

    1. --template=<template_directory>

    指定将使用模板的目录。 (参见下面的“模板目录”部分。)

    1. --separate-git-dir=<git dir>

    不是将存储库初始化为$GIT_DIR./.git/的目录,而是在其中创建包含实际存储库路径的文本文件。此文件充当与文件系统无关的Git符号链接到存储库。

    如果这是重新初始化,则存储库将移动到指定的路径。

    1. --shared[=(false|true|umask|group|all|world|everybody|0xxx)]

    指定要在多个用户之间共享Git存储库。这允许属于同一组的用户进入该存储库。指定时,将设置配置变量“core.sharedRepository”,以便使用请求的权限创建$GIT_DIR下的文件和目录。未指定时,Git将使用umask(2)报告的权限。

    该选项可以具有以下值,如果没有给出值,则默认为

    1. umask (or false)

    使用umask(2)报告的权限。默认情况下,未指定--shared时。

    1. group (or true)

    使存储库可写,(和g + sx,因为git组可能不是所有用户的主要组)。这用于放宽其他安全的umask(2)值的权限。请注意,umask仍然适用于其他权限位(例如,如果umask是 0022 ,则使用将不会删除其他(非组)用户的读取权限)。有关如何准确指定存储库权限的信息,请参见 0xxx

    1. all (or world or everybody)

    相同,但使所有用户都可以读取存储库。

    1. 0xxx

    0xxx 是一个八进制数,每个文件都有模式 0xxx0xxx 将覆盖用户的umask(2)值(并且不仅松开所有的权限)。 0640 将创建一个可读取组的存储库,但不能写入组或其他人可访问的存储库。 0660 将创建一个对当前用户和组可读写的repo,但其他人无法访问。

    默认情况下,配置标志receive.denyNonFastForwards在共享存储库中启用,因此您无法强制执行非快进推送。

    如果您提供目录,则命令在其中运行。如果此目录不存在,则将创建该目录。

    模板目录

    模板目录中名称不以点开头的文件和目录将在创建后复制到$GIT_DIR

    模板目录将是以下之一(按顺序):

    • 使用--template选项给出的参数;

    • $GIT_TEMPLATE_DIR环境变量的内容;

    • init.templateDir配置变量;要么

    • 默认模板目录:/usr/share/git-core/templates

    默认模板目录包括一些目录结构,建议“排除模式”(参见 gitignore [5] )和示例钩子文件。

    默认情况下,示例挂钩均已禁用。要启用其中一个示例挂钩,请通过删除其.sample后缀来重命名它。

    有关挂钩执行的更多常规信息,请参见 githooks [5] 。

    例子

    1. Start a new Git repository for an existing code base
    1. $ cd /path/to/my/codebase
    2. $ git init (1)
    3. $ git add . (2)
    4. $ git commit (3)
    1. 创建一个/path/to/my/codebase/.git目录。

    2. 将所有现有文件添加到索引中。

    3. 将原始状态记录为历史记录中的第一个提交。

    GIT

    部分 git [1] 套件