代码之家  ›  专栏  ›  技术社区  ›  ivan.ukr

用一个命令创建新文件并将其添加到git版本控制中

  •  0
  • ivan.ukr  · 技术社区  · 5 年前

    touch somefile
    git add somefile
    

    一个命令?

    0 回复  |  直到 5 年前
        1
  •  4
  •   torek    5 年前

    git add 将文件从工作树复制到索引中。此过程要求文件存在; git添加

    git添加 确实包括两个步骤:

    1. 目录 文件的。如果文件为空,则进入数据库或已在数据库中的对象具有以下哈希:

      $ git hash-object -t blob --stdin < /dev/null
      e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
      

      git hash-object -w 标志,它告诉Git在需要时将对象写入数据库,然后返回表示这些内容的哈希ID。

    2. 现在对象已经在数据库中(如果需要,可以新编写)并且我们有了它的哈希ID, 继续更新索引。此更新包括删除具有相同名称的任何较高阶段条目,并写入阶段零条目。条目内容是所需的 任何一个文件 100644 如果文件应标记为读/写,或 100755

    您可以使用 git update-info ,或者 --index-info (从标准输入读取)或 --cacheinfo the git update-index documentation .

    这样做的问题是 touch file; git add file 那是不是除非你 内容的哈希ID, 该哈希ID实际上已经存在于Git数据库中,它仍然需要两个命令: git hash-object -w ... git update-index ... . 在这种情况下,您还不如使用easy命令。

    empty tree ,他们没有 最初。)