自动提交修改程序

时间:2017-05-22 13:39:02

标签: git zsh amend

我发现自己因为必须运行完整的程序来修改git中的提交而感到恼火,我想知道哪种是自动化它们的最佳方法。 所以,而不是这样做:

$> git add .
$> git commit --amend
$> git push -f

我喜欢这样做

$> amend_commit

shell脚本是唯一的方法吗?我正在使用ZSH。

谢谢大家。

3 个答案:

答案 0 :(得分:1)

虽然自动化强制推送是一个非常糟糕的主意,因为它重写历史记录并且使用相同存储库的其他人都会讨厌你,你也可以定义一个git别名而不是像

这样的shell别名
git config alias.amend '!git add . && git commit --amend && git push -f'

或者如果您不想编辑提交消息,那么

git config alias.amend '!git add . && git commit --amend -C HEAD && git push -f'

然后你可以git amend使用它。

答案 1 :(得分:0)

您只需创建一个别名即可。这应该有效:

alias amend_commit="git add . && git commit --amend && git push -f"

答案 2 :(得分:0)

您可以使用-a标记git commit来自动添加任何更改,从而删除其中一个步骤:

git commit -a --amend
git push -f

正如另一位用户已经评论过的那样,将自动强制推送折叠到此工作流程中似乎很危险。

建议修改已推送的分支机构。我说这是你应该不经常做的事情,除非你使用允许可变功能分支的工作流程(用于变基等)。