Skip to content

Commit cc76d32

Browse files
fixup! 增加git相关内容
1 parent 710ae1f commit cc76d32

1 file changed

Lines changed: 9 additions & 4 deletions

File tree

  • docs/docs/编程外的基础

docs/docs/编程外的基础/Git.mdx

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -209,23 +209,28 @@ Git 默认不追踪空文件夹,如果你想在仓库中保留一个空文件
209209
2. 在编辑器中,将第 2、3 行开头的 `pick` 改为 `squash` (或简写为 `s`)。
210210
3. 保存并退出,在随后的弹窗中编辑合并后的提交说明(Commit Message)。
211211

212-
213212
### 修复不完美提交
214213

215-
**问题描述:** 修复BUG,已经 push 到了远程,但发现之前的代码并没真的修复,还差一些细节。目前还没有其他人提交。现在本地已经真正修复完了。
214+
**问题描述:** 修复BUG,已经 push 到了远程,但发现之前的代码并没真的修复,还差一些细节。现在本地已经真正修复完了。
216215

217216
**解决方案:** 修改最近一次提交。
218217

218+
**目前还没有其他人提交:**
219+
219220
* **操作步骤:**
220221
1. 暂存修改: 在本地完成真正的修复后,执行 `git add .`
221222
2. 合并提交: 执行 `git commit --amend --no-edit`
222223
`--amend` 表示将当前的修改合并到上一次提交中。
223-
`--no-edit` 表示沿用上一次的提交信息(不用重新写 Commit Message)。
224+
`--no-edit` 表示沿用上一次的提交信息(不用重新写 Commit Message)。果你发现上一次提交的 Commit Message 写错了,只需要把 `--no-edit` 去掉,或者换成 `-m "新消息"` 即可。
224225
3. 强制推送: 执行 `git push origin <分支名> --force-with-lease`
225226

226227
远程仓库的那条“没修好”的记录会被这条“真正修好”的记录直接替换。
227228

228-
* **注意:** 如果该分支有其他人在协作,强制推送前务必打招呼,否则会造成他人的提交历史错乱。
229+
**目前有其他人提交:**
230+
1. 暂存修改: 在本地完成真正的修复后,执行 `git add .`
231+
2. 查找记录: 在本地执行`git log` 找到之前那次不完美提交的`hash`
232+
3. 合并: 执行`git commit --fixup <commit-hash>`
233+
4. 提交: 执行 `git rebase -i --autosquash` 时,Git 会自动把这些 fixup 提交合并到对应的原始提交中
229234

230235
### 处理多人协作冲突
231236

0 commit comments

Comments
 (0)