我有我的Git存储库,它在根目录下有两个子目录:
/finisht
/static
Run Code Online (Sandbox Code Playgroud)
当这是在SVN,/finisht在一个地方签出,而/static在其他地方查出来,像这样:
svn co svn+ssh://admin@domain.com/home/admin/repos/finisht/static static
Run Code Online (Sandbox Code Playgroud)
有没有办法用Git做到这一点?
我想做一个提交
git commit --author="John Doe <john@doe.com>" -m "<the usual commit message>"
Run Code Online (Sandbox Code Playgroud)
其中John Doe是我想要提交其名称的某个用户.
看起来好像在git log.但是,当我这样做时gitk,作者姓名是正确的,但是从我的全局git配置设置中选择了提交者名称(因此设置为我的姓名/电子邮件).
两者之间有什么区别(提交者与作者)?
我是否应该将提交者设置为其他用户?
如果有,怎么样?
Git索引究竟包含什么,以及我可以使用什么命令来查看索引的内容?
更新
谢谢你的所有答案.我知道索引充当临时区域,提交的内容是索引而不是工作树.我只是对索引对象的内容感到好奇.我想它可能是文件名/目录名列表,SHA-1对,也许是一种虚拟树?
在Git术语中,是否有任何可用于列出索引内容的管道命令?
据我所知,当Git为文件分配SHA1哈希时,该SHA1对于文件的内容是唯一的.
因此,如果文件从一个存储库移动到另一个存储库,则该文件的SHA1保持不变,因为其内容未更改.
Git如何计算SHA1摘要?它是在完整的未压缩文件内容上执行的吗?
我想模仿在Git之外分配SHA1.
存储在树对象git ls-tree中的SHA1哈希值(由返回的sha1sum)与文件内容的SHA1哈希值不匹配(由返回)
$ git cat-file blob 4716ca912495c805b94a88ef6dc3fb4aff46bf3c | sha1sum
de20247992af0f949ae8df4fa9a37e4a03d7063e -
Run Code Online (Sandbox Code Playgroud)
git如何计算文件哈希值?它是否在计算哈希值之前压缩内容?
我到目前为止在Git上阅读的指南说我应该进入配置并指定我的姓名和电子邮件地址.他们没有详细说明; 他们只是说这样做.
为什么Git需要我的电子邮件地址?而且,更重要的是,如果我通过GitHub公开我的回购,我的电子邮件地址是否会被所有人(包括垃圾邮件程序员)看到?
我正在寻找DEFLATE算法的命令行包装器.
我有一个使用DEFLATE压缩的文件(git blob),我想解压缩它.gzip命令似乎没有直接使用DEFLATE算法的选项,而不是gzip格式.
理想情况下,我正在寻找可以做到这一点的标准Unix/Linux工具.
编辑:这是我尝试使用gzip解决我的问题时得到的输出:
$ cat .git/objects/c0/fb67ab3fda7909000da003f4b2ce50a53f43e7 | gunzip
gzip: stdin: not in gzip format
Run Code Online (Sandbox Code Playgroud) 我需要使用Git进行一些提交,但我希望将来git-log中的时间戳.
如何在git中进行提交,导致将来的时间戳记在git-log中注册?
git树对象的内容格式是什么?
blob对象的内容是blob [size of string] NUL [string],但对于树对象是什么?
git ×9
sha1 ×2
blob ×1
checksum ×1
deflate ×1
git-clone ×1
git-config ×1
git-hash ×1
git-ls-tree ×1
github ×1
gitk ×1
hash ×1
internal ×1
privacy ×1
repository ×1
subdirectory ×1