- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
因为 porcelain 命令是用管道命令构建的,所以我很想知道 add
和 commit
是如何构建的。
例如,add
命令当然使用了 hash-object
命令,但我认为它也使用了其他命令(可能是 update-index
)。有人可以指点我详细解释这一点的资源吗?
最佳答案
Since porcelain commands are built with the plumbing commands ...
不幸的是,这个前提并不完全正确(j6t noted this as well)。我会争辩说它应该 是真的,但出于各种原因,事实并非如此。特别是 git log
做的事情没有管道命令可用,git status
也做,但是 git status
本身可以 通过 --porcelain
标志成为管道命令。
For instance, the add command certainly use the hash-object command but I think it uses other commands as well (maybe the update-index). Can someone point me to a resource that explains this in details ?
你是对的,典型的 git add
使用内部等效的 git hash-object -w
后跟 git update-index
.但是,git add
有,例如,-p
或 --patch
模式,目前是一个 Perl 脚本,并且在重写为C代码的过程。
Can someone point me to a resource that explains this in details ?
找到此信息的唯一保证准确的地方是 Git 源代码本身。幸运的是,它是免费提供的:只需克隆 Git 的 Git 存储库。请注意,任何详细问题的答案都可能取决于特定的 Git 版本。
[from a comment: are] there conferences, papers etc. that talk about the evolution of Git historically?
There appears to have been a fairly large conference in March 2020.我敢肯定之前还有其他论文,但我没有引用文献。
关于git - 瓷器命令添加和提交中使用了哪些管道命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65189297/
我是一名优秀的程序员,十分优秀!