Git cheats
a day ago
- Git 拥有优秀的数据模型,但用户界面不太友好。
- 如果你丢失了一个提交,运行 `git reflog` 查找最近的提交。
- 变基后,使用 `git push --force-with-lease` 而不是常规的 `git push` 以避免被拒绝。
- 如果在 `git pull` 后不小心合并了,使用 `git reset --hard HEAD~` 撤销合并提交。
- 分离头指针意味着你不在任何分支上;用 `git checkout --branch <name>` 创建新分支保存工作。
- 要覆盖未跟踪的文件,先提交更改,或使用 `git submodule deinit`,或小心删除文件。
- 在 rust-lang/rust 中,通过 `./x.py --help` 更新子模块来修改 Cargo.lock。
- 用 `git commit --amend` 修改最后一次提交;用 `git commit --fixup` 和 `git rebase --autosquash` 修复更早的提交。
- 通过变基到默认分支 `git rebase -i origin/HEAD` 删除合并提交。
- Git 的错误信息往往无助于解决问题;更好的信息应能引导用户找到正确解决方案。