我想在特定提交中获取已修改和添加的文件的列表,以便我可以导出它们并生成具有文件结构的包.
想法是获取包并在服务器上提取它.由于许多原因,我无法创建一个钩子来自动拉回存储器,并且我必须保持服务器更新的最简单方法是生成此包.
Ari*_*zis 98
git diff-tree -r --no-commit-id --name-only --diff-filter=ACMRT $commit_idRun Code Online (Sandbox Code Playgroud)
git diff-tree -r $commit_id:
将给定提交的差异取为其父(包括所有子目录,而不仅仅是顶层目录).
--no-commit-id --name-only:
不输出提交SHA1.仅输出受影响文件的名称而不是完整差异.
--diff-filter=ACMRT:
仅显示在此提交中添加,复制,修改,重命名或更改其类型的文件(例如,文件→符号链接).这会遗漏已删除的文件.
小智 66
git diff-tree -r --no-commit-id --name-only --diff-filter=ACMRT $commit_id | xargs tar -rf mytarfile.tarRun Code Online (Sandbox Code Playgroud)
为了解决这个问题,这里是用tar命令的命令.这会将文件导出到tar存档中.
MM.*_*MM. 39
这是一个适用于Windows 7的单行命令.从存储库的顶级文件夹运行它.
for/f"usebackq tokens =*"%A in(`git diff-tree -r --no-commit-id --name-only --diff-filter = ACMRT HEAD~1 HEAD`)do echo FA | xcopy "%~fA""C:\ git_changed_files \%A"
Nic*_*ine 30
如果您的提交哈希是例如a9359f9,则此命令:
git archive -o patch.zip a9359f9 $(git diff --name-only a9359f9^..a9359f9)
将提取在提交中修改的文件并将它们放在patch.zip中,同时保持项目目录结构不变.
有点冗长,提交哈希被提到三次,但它似乎对我有用.
得到它:http://tosbourn.com/2011/05/git/using-git-to-create-an-archive-of-changed-files/
Wen*_*del 19
您可以使用Tortoise Git将差异导出到MS Windows:
我右键单击并选择TortoiseGit > 显示日志和日志消息将打开.
选择两个修订并进行比较.之间的区别将是开放的.
选择文件并将选择导出到...到文件夹!
我需要更新我的测试服务器并添加自2.1版以来更改的文件.
对我来说,像James Ehly发布的那样处理类似的解决方案,但在我的情况下,我想导出两个旧标签之间差异的存档包 - tag_ver_2.1和tag_ver_2.2不是唯一一个提交.
例如:
tag_ver_2.1 = 1f72b38ad
tag_ver_2.2 = c1a546782
这是修改过的示例:
git diff-tree -r --no-commit-id --name-only c1a546782 1f72b38ad | xargs tar -rf test.tar
Run Code Online (Sandbox Code Playgroud)
以下命令对我有用。
如果您希望上次提交更改的文件有所不同:
git archive -o update.zip HEAD $(git diff --name-only HEAD HEAD^)
Run Code Online (Sandbox Code Playgroud)
或者如果您想要两个特定提交之间的差异:
git archive -o update.zip sha1 $(git diff --name-only sha1 sha2)
Run Code Online (Sandbox Code Playgroud)
或者如果您有未提交的文件,请记住 git 的方式是提交所有内容,分支很便宜:
git stash
git checkout -b feature/new-feature
git stash apply
git add --all
git commit -m 'commit message here'
git archive -o update.zip HEAD $(git diff --name-only HEAD HEAD^)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
52444 次 |
| 最近记录: |