我正在运行一个非常快速的代码-编译-测试循环,在这个循环中我经常修改对我的提交的更改。
例如:
# Make some changes
$ git commit -m "Added feature X"
# Compile, test
# Fix bugs
$ git commit -a --amend
修复错误后,我通常想要相同的提交消息。有没有办法让 git 跳过启动我EDITOR
并只使用原始提交消息?
我正在运行一个非常快速的代码-编译-测试循环,在这个循环中我经常修改对我的提交的更改。
例如:
# Make some changes
$ git commit -m "Added feature X"
# Compile, test
# Fix bugs
$ git commit -a --amend
修复错误后,我通常想要相同的提交消息。有没有办法让 git 跳过启动我EDITOR
并只使用原始提交消息?
您可以添加--no-edit
以使用最后一条消息。该选项自 2005 年以来就存在,但直到最近才启用该--amend
选项。
另一种方法是-C HEAD
使用 amend 选项添加到 commit 命令。这使您不仅可以使用当前提交的消息,还可以指定您喜欢的任何其他引用,因此值得记住它。
这在从历史上的不同地方构建提交并使用这些提交的消息之一时特别有用。例如:
git checkout feature1^^ -- database/table1.sql
git checkout feature1^^^^ -- logger.py
git add -A && git commit -C feature1
这将只使用来自 feature1 的 2 次提交,并使用来自最后一次提交的提交消息到 feature1 - 如果这是一个很好的描述。
你也可以使用
--reuse-message=<commit>
Take an existing commit object, and reuse the log message and the authorship
information (including the timestamp) when creating the commit.
这允许您使用以前的提交消息。这也可以是脚本或 git 别名的一部分。
git commit --amend --reuse-message HEAD
将重用上次提交的消息
由于 git 1.7.9 版本你也可以使用 git commit --amend --no-edit