在git里有没有办法只拷贝出commit里修改的文件?

2013-06-07 09:58:41 +08:00
 jarnanchen
想要对修改过的文件进行语法以及CodeStyle检查,检查整个repository实在太大了。所以考虑检查以后的每个commit。
但是要怎么样才能自动把某个commit里的文件拎出来到另外一个地方呢?
3651 次点击
所在节点    程序员
8 条回复
allenm
2013-06-07 10:00:17 +08:00
使用 git hooks 应该可以做到
jarnanchen
2013-06-07 10:07:45 +08:00
@allenm 可否详细说明?
NemoAlex
2013-06-07 10:11:28 +08:00
找个目录 clone 一份再 checkout 到相应的 commit 即可
jarnanchen
2013-06-07 10:13:44 +08:00
@NemoAlex Clone之后应该是包含全部的代码的?我只想要这个commit里涉及到的文件
swulling
2013-06-07 10:18:37 +08:00
@jarnanchen 组合下命令就行了
git show HEAD --stat | cat

然后awk/grep出那些文件cp出来
johnnyb
2013-06-07 10:19:12 +08:00
git diff HEAD^1 --stat
risent
2013-06-07 19:37:30 +08:00
git diff-index --name-only b7718272db12cc431e4267f8c9b23a0198f5b8df
zhouitpro
2013-06-13 16:57:12 +08:00
好吧,我来说两句,使用 cat-file, 4a12bde1403d 这个是commit的哈兮

git cat-file -p 4a12bde1403d:base.php > base.php

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/71555

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX