自动化提交修改程序
Automating commit amend procedure
我发现自己对必须 运行 修改 git 中的提交的完整程序感到恼火,我想知道哪种方法是自动化它们的最佳方式。
所以,与其这样做:
$> git add .
$> git commit --amend
$> git push -f
我很乐意这样做
$> amend_commit
shell 编写脚本是唯一的方法吗?我正在使用 ZSH。
谢谢大家
您可以只创建一个别名。这应该有效:
alias amend_commit="git add . && git commit --amend && git push -f"
您可以通过使用 -a
标志来删除其中一个步骤 git commit
以自动添加任何更改:
git commit -a --amend
git push -f
正如另一位用户已经评论的那样,将自动强制推送折叠到此工作流程中似乎很危险。
不建议修改已推送的分支。我会说这是你应该相对不经常做的事情,除非你使用的工作流程允许可变功能分支(用于变基等)。
虽然将强制推送自动化是一个非常糟糕的主意,因为它会重写历史并且使用同一个存储库的其他人都会讨厌你,但你也可以定义一个 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
使用它。
我发现自己对必须 运行 修改 git 中的提交的完整程序感到恼火,我想知道哪种方法是自动化它们的最佳方式。 所以,与其这样做:
$> git add .
$> git commit --amend
$> git push -f
我很乐意这样做
$> amend_commit
shell 编写脚本是唯一的方法吗?我正在使用 ZSH。
谢谢大家
您可以只创建一个别名。这应该有效:
alias amend_commit="git add . && git commit --amend && git push -f"
您可以通过使用 -a
标志来删除其中一个步骤 git commit
以自动添加任何更改:
git commit -a --amend
git push -f
正如另一位用户已经评论的那样,将自动强制推送折叠到此工作流程中似乎很危险。
不建议修改已推送的分支。我会说这是你应该相对不经常做的事情,除非你使用的工作流程允许可变功能分支(用于变基等)。
虽然将强制推送自动化是一个非常糟糕的主意,因为它会重写历史并且使用同一个存储库的其他人都会讨厌你,但你也可以定义一个 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
使用它。