最近我分析了我本地仓库的提交日志,并注意到以下内容,我想知道这里发生了什么。任何人都可以给出解释此问题的网站的答案或指针吗?
假设我有以下文件结构:
/path/a.txt
/path/b.txt
/path/c.txt
/path/d.txt
当我提交时,我在日志中看到以下内容:
create mode 100644 path/a.txt
create mode 100644 path/b.txt
copy path/{a.txt => b.txt} (100%)
create mode 100644 path/c.txt
copy path/{a.txt => c.txt} (100%)
create mode 100644 path/d.txt
copy path/{a.txt => d.txt} (100%)
所有文件都是完全不同的内容。
那些大括号{=>}
是什么意思?
Git版本:1.7.0.4(不要问我为什么我没有使用最新版本,它是客户端的服务器,我不能只安装最新版本。)
答案 0 :(得分:1)
大括号只是一个简写,所以Git不必两次打印完整路径。
因此,copy path/{a.txt => b.txt}
只是copy path/a.txt => path/b.txt
的缩写。
这些行末尾的百分比告诉你第二个文件与第一个文件的相似程度(在这种情况下,它们完全相同,这就是Git认为你复制它们的原因)。
另请注意,这对提交内容没有影响,它只是一种纯粹用于输出的语义解释。提交的内容始终是所有跟踪文件的精确快照,而不保存移动或复制等任何元信息。