【发布时间】:2011-02-17 11:23:27
【问题描述】:
我使用“git add -p”来暂存我的更改。我想做的是在我检查我的更改时积累一条提交消息,然后当我调用“git commit”时,它已经为我填写好了,并允许我在提交之前进行更改。
现在,通过简单地检查更改并相应地编辑提交消息文本框,使用 git gui 很容易,但我是一个命令行人员,想知道这是否可以在命令行中实现。
【问题讨论】:
-
为什么不使用
git commit --amend? -
我认为 Jakub 的评论可能是比当前任何一个更好的答案,尽管使用 rebase 压缩可以完成同样的事情。
-
我同意。我需要添加、提交,然后冲洗重复添加、提交 --amend 直到我完成。它适合现有的工作流程。
-
@Jefromi、@Jakub_Narebski [我知道这已经很久了,但对于 Google 员工来说]:不,不,为什么?
commit --amend将是一个过大的杀伤力,可能会造成人员伤亡和未知的副作用,这是由于 git 更改事务粒度与实际更改过程的粒度不同步的阻抗不匹配(想象一下过早的意外push! ),除了不太为人所知的副作用,比如可能混淆/滥用提交钩子,谁知道呢。我宁愿向 git 发送功能请求,同时在提交时将临时注释收集到一个文本文件中。 -
@Sz。主要是因为它是内置的,它让 OP 做他们想做的事(不像在编写消息时偷看差异),它使更改和提交消息之间的关联明确(不像 mipadi 的答案)。如果您在所有本地提交上都有提交挂钩,即使是您认为是临时的,或者如果您拒绝进行您认为不是“最终”的提交,那么您已经度过了一段糟糕的时光。使用 rebase -i 压缩也是一个很好的解决方案,本质上是等效的,所以选择你喜欢的。但总的来说,在 git 中明确地这样做是一个好主意。
标签: git commit-message accumulate