首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Git别名,用于压缩具有特定提交消息的所有提交

Git别名,用于压缩具有特定提交消息的所有提交
EN

Stack Overflow用户
提问于 2011-11-22 19:48:54
回答 1查看 551关注 0票数 2

我一直在使用这个git-alias,它是我在这里的一个问题中得到的:

wip = !f() { git add -A; git ls-files --deleted -z | xargs -0 git rm; git commit -m "wip";}; f

所以现在我有了一系列的n个提交,它们都包含'wip‘本身作为提交消息。

我如何创建一个git别名来找到正确数量的提交,然后返回包含"wip“的树并压缩它们?这真的可能吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-22 22:39:28

您可能需要以交互方式提交和压缩现有的wip提交。由于带有压缩的rebase将改变历史,这使得自动化变得困难(尽管不是不可能);最好是逐个案例地使用rebase。完成此操作后,您可以将wip别名更改为以下内容:

代码语言:javascript
复制
git config --global alias.wip '!f() { git add -A; git ls-files --deleted -z | xargs -0 -r git rm; s=`git show --format=%s HEAD | head -1`; if [ "wip" = "$s" ]; then git commit --amend -m "wip"; else git commit -m "wip"; fi;}; f'

这将避免您的历史记录中出现连续的wip提交。通过使用xargs -r option从原始别名更改别名,以便If the standard input is completely empty, do not run the command.,如果当前的HEAD提交主题是wip,则使用commit--amend

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8226278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档