git - git commit --fixup hash 什么都不做
问题描述
我有一个要修复的提交。我究竟做错了什么?
git commit --fixup bdf55a7c12996e3af853c27ca4ff6c670e826c5e
On branch foo
nothing to commit, working tree clean
git --version
git version 2.31.0
解决方案
您似乎认为这git commit --fixup
会更改现有提交。它没有。git commit --fixup
并且git commit --squash
是历史改写的一部分,但它们只是解决方案的一部分。
git commit --fixup
不会更改您指向的提交。它在当前分支的头部创建一个新的提交,主题是从给定的提交中构造的,并在fixup!
前面加上单词。提交是包含当前更改的常规提交,因此可以使用git add
或git commit -a --fixup
添加和提交更改。
在那次运行之后git rebase --interactive --autosquash
——这是执行修复/压缩的主要命令。该命令对提交进行重新排序,并为您提供修复/壁球的提交列表。验证列表并退出编辑器。git rebase
将运行修复或压缩提交。
了解如何将所有内容组合在一个巧妙的别名中:https ://blog.filippo.io/git-fixup-amending-an-older-commit/
[alias]
fixup = "!f() { TARGET=$(git rev-parse "$1"); git commit --fixup=$TARGET ${@:2} && EDITOR=true git rebase -i --autostash --autosquash $TARGET^; }; f"
要使用它:
git fixup bdf55a7c12996e3af853c27ca4ff6c670e826c5e
推荐阅读
- css - 引导中心块未居中图像
- mysql - Node.js 与 MySQL docker 容器网络设置
- java - Java.net(RestFul 服务 JSON 响应解析问题)如何将 JSON 响应字符串中相同项目的列表转换为 Java 对象?
- makefile - 如何创建和构建 ESP-IDF 静态库?
- python - 对于带有 numpy/pandas 的循环(遍历列标题)
- php - 在表单页面上显示表单错误消息
- azure - Xamarin 文本 blob Azure 存储
- c# - C# UWP BluetoothLEDevice.FromIdAsync 停止工作
- azure - Azure:Microsoft.Compute 资源提供商在“注册”中停留了大约一天
- vb.net - 在 uwp 中处理 excel 文件