我正在编写一个脚本,该脚本进行一些微不足道的更改,然后将它们提交给 git。因为这些都是微不足道的更改,所以我想git commit --amend
在可以摆脱它的时候做——特别是,当修改不会“弄乱”任何其他分支的历史时。如果修改会弄乱另一个分支,我想做一个标准git commit
。
例如,如果我的分支看起来像这样(在 Git GUI 中“可视化所有分支历史”):
* [experimental branch] Added feature.
* [master branch] Trivial change from script
* ...
我在主分支上运行这个脚本,然后我不想做修改,因为我会替换实验分支历史的一部分。从技术上讲,这实际上不会破坏任何东西——原始提交仍将是实验历史的一部分,并且仍将被引用,因此它不会被垃圾收集——但有几乎但不完全相同的提交当我以后想要变基或合并时,两个不同的分支让生活变得困难,所以这是我想避免的情况。
如何让我的脚本自动检测提交是否有任何分支?
如果简化假设有帮助,我总是在 master 的头上运行这个脚本,并且我只使用 git 作为本地存储库——我不会在任何地方推送或拉取更改。
这个脚本是用 Ruby 编写的,所以我可以使用 git 命令行,或者我可以为 git 使用 Ruby 绑定——无论哪种方式都可以使这项任务更容易。