Cor*_*oyd 16 git macos terminal version-control
使用OS X终端,
如何以纯文本格式查看这些文件的内容?
小智 14
alias deflate="perl -MCompress::Zlib -e 'undef $/; print uncompress(<>)'"
deflate .git/objects/4b/3083256dedabd68e839d7717aa785424119990 | sha1sum
4b3083256dedabd68e839d7717aa785424119990 -
Run Code Online (Sandbox Code Playgroud)
Jak*_*ski 10
如果你想在不使用git的情况下查看git对象(提交和/或blob,即文件内容)的纯文本形式,那就不容易了,特别是如果打包存储库.你不能在你的主目录(或MacOS X上的等价物)本地安装git吗?
松散对象的格式,存储为.git/objects/
扇出目录中的文件,例如.git/objects/02/43019ddb4d94114e5a8580eec01baeea195133
(扇出目录和文件名形式为对象的SHA-1标识符),在"Pro Git"一书的第9.2章"Git对象"中有描述.(可免费在线获取)和第7章"Git存储对象"的"Git社区书".
的包格式,其中对象的集合被存储在单个文件中.git/objects/pack/
,例如.git/objects/pack/pack-1db7aa96d95149a4dd341490a3594181a24415ee.pack
,描述在文档/技术/包-format.txt和在第7.5章"的打包文件" "GIT中社区书"(和在提到章9.4" Packfiles" of"Pro Git")
如果要查找最新提交,请先查看.git/HEAD
文件以查找当前分支.它将包含以下内容:
ref: refs/heads/master
Run Code Online (Sandbox Code Playgroud)
(如果它包含SHA-1,则可以将其作为上次提交的id,并跳过一步).然后检查例如.git/refs/heads/master
找到分支指向的位置.它将包含提交的SHA-1,例如:
dbc1b1f71052c084a84b5c395e1cb4b5ae526fcb
Run Code Online (Sandbox Code Playgroud)
最后(最近)的提交可能是松散的格式; 在这个例子中,它将在.git/objects/db/c1b1f71052c084a84b5c395e1cb4b5ae526fcb
文件中.
小智 9
它是使用zlib的原始压缩数据.可以使用zpipe
'zlib1g-dev'包.编译例子用gcc -o zpipe zpipe.c -lz
.它不是标准.gz
或其他东西.
./zpipe -d < .git/objects/02/43019ddb4d94114e5a8580eec01baeea195133
Run Code Online (Sandbox Code Playgroud)
打印blob的内容(标题+数据)
如果要检查SHA-1,则必须将未压缩的blob放在文件(myblob
)中并执行
sha1sum myblob
Run Code Online (Sandbox Code Playgroud)
我将以不同的方式解释你的问题.如果你想了解对象文件是什么,你可以使用git直接查看它们,而无需导航历史日志或使用git checkout,diff等.例如:
对于文件 .git/objects/04/a42e9a7282340ef0256eaa6d59254227b8b141
运行命令
git show 04a42e
Run Code Online (Sandbox Code Playgroud)
其中结合了04
从/04/
和剩余数量的前四个字符a42e
.
> git show 04a42e
commit 04f7db976fa54c72fcc6350dd7d0aa06cb249df6
Author: Alex Brown <alex@XXXX.XXX>
Date: Fri Jan 8 11:02:21 2010 +0000
a text file
diff --git a/1.txt b/1.txt
new file mode 100644
index 0000000..04a42e9
--- /dev/null
+++ b/1.txt
@@ -0,0 +1,3 @@
+Woo
+# boo
+# choo
Run Code Online (Sandbox Code Playgroud)
这个是提交,其他对象可能是文件blob,树等.
归档时间: |
|
查看次数: |
7904 次 |
最近记录: |