相关疑难解决方法(0)

如何列出提交中的所有文件?

我正在寻找一个简单的git命令,它提供了一个格式良好的所有文件列表,这些文件是散列(SHA1)给出的提交的一部分,没有任何无关的信息.

我试过了:

git show a303aa90779efdd2f6b9d90693e2cbbbe4613c1d
Run Code Online (Sandbox Code Playgroud)

虽然它列出了文件,但它还包含每个文件的不需要的差异信息.

是否有另一个git命令只提供我想要的列表,以便我可以避免从git show输出中解析它?

git git-show

2619
推荐指数
28
解决办法
138万
查看次数

如何从Git中的特定修订中检索单个文件

我有一个Git存储库,我想看看几个月前一些文件的样子.我在那个日期找到了修改版,而且它是27cf8e84bb88e24ae4b4b3df2b77aab91a3735d8.我需要查看一个文件的外观,并将其保存到文件中.

我设法看到文件使用gitk,但它没有保存选项.我尝试使用命令行工具,我得到的最接近的是:

git-show 27cf8e84bb88e24ae4b4b3df2b77aab91a3735d8 my_file.txt
Run Code Online (Sandbox Code Playgroud)

但是,此命令显示diff而不是文件内容.我知道我以后可以使用类似的东西PAGER=cat并将输出重定向到文件,但我不知道如何获得实际的文件内容.

基本上,我正在寻找类似svn cat的东西.

git single-file

789
推荐指数
9
解决办法
35万
查看次数

Git 是否会在顶级存储库引用的子模块中进行垃圾收集提交?

比方说:

\n\n
 top.git     \n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 sub.git => 75fc7\n
Run Code Online (Sandbox Code Playgroud)\n\n
    \n
  • 顶级 Git 存储库是top.git指.75fc7sub.git
  • \n
  • 子模块 Git 存储库sub.git既没有分支也没有导致提交75fc7(无法访问)的标签。
  • \n
\n\n

最终是否会因为没有任何东西可以到达而sub.git对该提交进行垃圾收集?75fc7

\n\n

AFAIK,Git 子模块的设计方式在本例中sub.git无法证明它是任何其他存储库的子模块。换句话说,提交75fc7实际上是垃圾收集的候选者。如果子模块可能“忘记”所需的提交,那么恢复所有子模块的状态将是不可靠的。

\n

git git-submodules

6
推荐指数
1
解决办法
1442
查看次数

Go1编译器如何工作?

我一直在和Go一起学习一个学期的项目,我注意到src/pkg/go文件夹中的go/ast,go/token,go/parser等包.但是,gc编译器基于位于src/cmd/gc中的C文件.

我的问题是关于构建和运行程序的Go1中的新go命令:这个工具是否取决于我上面提到的包?即如果我在/go/token/token.go中添加了一个新令牌,它会被新的go编译器识别吗?

compiler-construction go

3
推荐指数
1
解决办法
317
查看次数