在gitdiffcore(7)中,它只是声明:
The pathspecs are used to limit the world diff operates in.
They remove the filepairs outside the specified sets of pathnames.
E.g. If the input set of filepairs included:
:100644 100644 bcd1234... 0123456... M junkfile
我的问题是如何阅读这个,即哪些字段是哪些字段,它们代表什么?
我正在寻找以便能够理解在检测路径名更改(作为选项)与文件重命名检测分开时是否有任何里程,这既昂贵又倾向于向用户建议许多文件已被重命名(而不是而不是单一的路径改变)
答案 0 :(得分:3)
让我们打破这个:
:100644 100644 bcd1234... 0123456... M junkfile
old file mode new file mode old file hash new file hash modified file name
要从指定提交的目录创建具有给定名称的存档,请使用git archive
command:
git archive --prefix='your_product_v1.2/' -o 'your_product.zip' v1.2:path/to/directory/
假设您希望从path/to/directory/
创建归档,因为它在版本v.1
中(标记,分支,您甚至可以在此处使用提交ID)。存档将命名为your_product.zip
(从文件名推断格式,.tar
也是可能的),所有文件将放在zip文件内的子文件夹your_product_v1.2
中。
这样您就不必重命名VCS中的目录了(为什么还要这样做?)。希望有所帮助!如果事情仍不清楚,请发表评论。
答案 1 :(得分:0)
前两个数字是文件组权限标志。第二个是sha1指标之前和之后。 M告诉你这是一个修改。最后一个是你的文件名。