Путеводитель по Руководству Linux

  User  |  Syst  |  Libr  |  Device  |  Files  |  Other  |  Admin  |  Head  |



   git-update-index    ( 1 )

зарегистрируйте содержимое файла в рабочем дереве в индекс (Register file contents in the working tree to the index)

USING --INDEX-INFO

--index-info is a more powerful mechanism that lets you feed multiple entry definitions from the standard input, and designed specifically for scripts. It can take inputs of three formats:

1. mode SP type SP sha1 TAB path

This format is to stuff git ls-tree output into the index.

2. mode SP sha1 SP stage TAB path

This format is to put higher order stages into the index file and matches git ls-files --stage output.

3. mode SP sha1 TAB path

This format is no longer produced by any Git command, but is and will continue to be supported by update-index --index-info.

To place a higher stage entry to the index, the path should first be removed by feeding a mode=0 entry for the path, and then feeding necessary input lines in the third format.

For example, starting with this index:

$ git ls-files -s 100644 8a1218a1024a212bb3db30becd860315f9f3ac52 0 frotz

you can feed the following input to --index-info:

$ git update-index --index-info 0 0000000000000000000000000000000000000000 frotz 100644 8a1218a1024a212bb3db30becd860315f9f3ac52 1 frotz 100755 8a1218a1024a212bb3db30becd860315f9f3ac52 2 frotz

The first line of the input feeds 0 as the mode to remove the path; the SHA-1 does not matter as long as it is well formatted. Then the second and third line feeds stage 1 and stage 2 entries for that path. After the above, we would end up with this:

$ git ls-files -s 100644 8a1218a1024a212bb3db30becd860315f9f3ac52 1 frotz 100755 8a1218a1024a212bb3db30becd860315f9f3ac52 2 frotz