uTools-Manuals/docs/git/git init.html
2019-05-07 10:40:55 +08:00

3 lines
8.5 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div class="c-markdown doc-markdown"><div class="doc-postil"><div class="c-markdown"><h2>名称</h2></div></div><div class="doc-postil"><div class="c-markdown"><p>git-init  - 创建一个空的 Git 仓库或重新初始化一个现有仓库</p></div></div><div class="doc-postil"><div class="c-markdown"><h2>概要</h2></div></div><div class="doc-postil"><div class="c-markdown"><pre><code class="language-Bash">git init [-q | --quiet] [--bare] [--template=&lt;template_directory&gt;]          [--separate-git-dir &lt;git dir&gt;]          [--shared[=&lt;permissions&gt;]] [directory]</code></pre></div></div><div class="doc-postil"><div class="c-markdown"><h2>描述</h2></div></div><div class="doc-postil"><div class="c-markdown"><p>此命令创建一个空的 Git 仓库-基本上是一个<code>.git</code>与子目录的目录<code>objects</code><code>refs/heads</code><code>refs/tags</code>,和模板文件。<code>HEAD</code>还创建了引用主分支的 HEAD 的初始文件。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>如果<code>$GIT_DIR</code>设置了环境变量,那么它将指定一个要使用的路径,而不是<code>./.git</code>存储库的基础。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>如果通过<code>$GIT_OBJECT_DIRECTORY</code>环境变量指定了对象存储目录则在下面创建sha1目录 - 否则使用默认<code>$GIT_DIR/objects</code>目录。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>在现有的存储库中运行是<code>git init</code>安全的。它不会覆盖已经存在的东西。重新运行<code>git init</code>的主要原因是拾取新添加的模板(或者如果给出--separate-git-dir则将存储库移动到另一个位置</p></div></div><div class="doc-postil"><div class="c-markdown"><h2>选项</h2></div></div><div class="doc-postil"><div class="c-markdown"><p>-q   --quiet</p></div></div><div class="doc-postil"><div class="c-markdown"><p>仅打印错误和警告消息;所有其他输出将被抑制。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>--bare</p></div></div><div class="doc-postil"><div class="c-markdown"><p>创建一个裸仓库。如果<code>GIT_DIR</code>未设置环境,则将其设置为当前工作目录。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>--template=&lt;template_directory&gt;</p></div></div><div class="doc-postil"><div class="c-markdown"><p>指定将使用模板的目录。(请参阅下面的“模板目录”部分。)</p></div></div><div class="doc-postil"><div class="c-markdown"><p>--separate-git-dir=&lt;git dir&gt;</p></div></div><div class="doc-postil"><div class="c-markdown"><p>相反,初始化存储库作为目录之一<code>$GIT_DIR</code>或者<code>./.git/</code>,创建一个包含路径的实际存储库的文本文件存在。该文件充当文件系统不可知的 Git 与存储库的符号链接。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>如果这是重新初始化,存储库将被移动到指定的路径。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>--shared=(false|true|umask|group|all|world|everybody|0xxx)</p></div></div><div class="doc-postil"><div class="c-markdown"><p>指定 Git 存储库将在多个用户之间共享。这允许属于同一组的用户推入该存储库。指定时将设置配置变量“core.sharedRepository”以便<code>$GIT_DIR</code>使用请求的权限创建下面的文件和目录。未指定时Git 将使用 umask2报告的权限。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>该选项可以具有以下值,如果<code>group</code>没有给定的值,则默认为:</p></div></div><div class="doc-postil"><div class="c-markdown"><p><em style="font-style: italic;">umask</em> (or <em style="font-style: italic;">false</em>)</p></div></div><div class="doc-postil"><div class="c-markdown"><p>使用由 umask2报告的权限。<code>--shared</code>未指定时的默认值。</p></div></div><div class="doc-postil"><div class="c-markdown"><p><em style="font-style: italic;">group</em> (or <em style="font-style: italic;">true</em>)</p></div></div><div class="doc-postil"><div class="c-markdown"><p>使存储库组可写和g + sx因为 git 组可能不是所有用户的主要组)。这用于放宽其他安全的 umask2值的权限。请注意umask 仍然适用于其他权限位(例如,如果 umask 是<code>0022</code>,使用<code>group</code>不会从其他(非组)用户删除读取权限)。请参阅<code>0xxx</code>如何准确指定存储库权限。</p></div></div><div class="doc-postil"><div class="c-markdown"><p><em style="font-style: italic;">all</em> (or <em style="font-style: italic;">world</em> or <em style="font-style: italic;">everybody</em>)</p></div></div><div class="doc-postil"><div class="c-markdown"><p>与此相同<code>group</code>,但使存储库可供所有用户阅读。</p></div></div><div class="doc-postil"><div class="c-markdown"><p><em style="font-style: italic;">0xxx</em></p></div></div><div class="doc-postil"><div class="c-markdown"><p><code>0xxx</code>是一个八进制数,每个文件都有模式<code>0xxx</code><code>0xxx</code>将覆盖用户的
umask2的值不仅是松开的权限<code>group</code><code>all</code>一样)。<code>0640</code>将创建一个群组可读的存储库,但不能对其他群组进行写入或访问。<code>0660</code>将创建一个对当前用户和组可读可写的回购,但其他人无法访问。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>默认情况下,配置标志<code>receive.denyNonFastForwards</code>在共享存储库中启用,以便您不能强制进行非快速转发。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>如果你提供了一个<code>directory</code>,那么这个命令就在里面运行。如果这个目录不存在,它将被创建。</p></div></div><div class="doc-postil"><div class="c-markdown"><h2>模板目录</h2></div></div><div class="doc-postil"><div class="c-markdown"><p>模板目录中名称不以点开头的文件和目录将<code>$GIT_DIR</code>在其创建后复制到其中。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>模板目录将是以下内容之一(按顺序):</p></div></div><div class="doc-postil"><div class="c-markdown"><ul class="ul-level-0 list-paddingleft-2" style="margin: 10px 0px 10px 20px;"><li><p><code>--template</code>选项一起提供的论据;</p></li></ul></div></div><div class="doc-postil"><div class="c-markdown"><ul class="ul-level-0 list-paddingleft-2" style="margin: 10px 0px 10px 20px;"><li><p><code>$GIT_TEMPLATE_DIR</code>环境变量的内容;</p></li></ul></div></div><div class="doc-postil"><div class="c-markdown"><ul class="ul-level-0 list-paddingleft-2" style="margin: 10px 0px 10px 20px;"><li><p>所述<code>init.templateDir</code>配置变量;要么</p></li></ul></div></div><div class="doc-postil"><div class="c-markdown"><ul class="ul-level-0 list-paddingleft-2" style="margin: 10px 0px 10px 20px;"><li><p>默认模板目录:<code>/usr/share/git-core/templates</code></p></li></ul></div></div><div class="doc-postil"><div class="c-markdown"><p>默认模板目录包含一些目录结构,建议使用“排除模式”(参见 gitignore [5])和示例钩子文件。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>示例钩子默认情况下都是禁用的,要启用其中一个示例钩子,可以通过删除其<code>.sample</code>后缀来对其进行重命名。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>有关钩子执行的更多信息,请参阅 githooks [5]。</p></div></div><div class="doc-postil"><div class="c-markdown"><h2>示例</h2></div></div><div class="doc-postil"><div class="c-markdown"><p>为现有的代码库启动一个新的 Git 存储库</p></div></div><div class="doc-postil"><div class="c-markdown"><pre><code class="language-Bash">$ cd /path/to/my/codebase
$ git init      (1)$ git add .     (2)$ git commit    (3)</code></pre></div></div><div class="doc-postil"><div class="c-markdown"><p>1. 创建一个/path/to/my/codebase/.git目录。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>2. 将所有现有文件添加到索引。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>3. 将原始状态记录为历史记录中的第一个提交。</p></div></div></div>