Git 高级
Amanda Crawford-Adamo
Software and Data Engineer
Git 变基命令:
git rebase <branch_name>

data-cleanup 功能分支。git checkout data-cleanup
main 变基到 data-cleanup 上。git rebase main
data-cleanup 的提交会在 main 最新提交之后重建data-cleanup 提交会有新的哈希注意: 如有冲突,需手动解决。

git rebase -i <commit_hash>
功能
警告!
main)使用变基$$
这是编辑提交历史前的 data-validation 分支历史。
$ git log --oneline data-validation
abc1234 Optimize validation performance
def5678 Fix validation bug
ghi9101 Add data validation function
xyz1234 New Main Branch Commit
vwx7890 Main Branch Commit
jkl2345 Initial commit
以下是在打开的编辑器中用 pick 和 fixup 编辑提交历史的方法。
$ git rebase -i HEAD~3
pick ghi9101 Add data validation function
fixup def5678 Fix validation bug
fixup abc1234 Optimize validation performance
# Rebase xyz1234..abc1234 onto HEAD~3(xyz1234) (3 commands)
#
# Commands:
# p, pick <commit> = use commit
# f, fixup <commit> = like "squash", but discard this commit's log message
...
之前
$ git log --oneline data-validation
abc1234 Optimize validation performance
def5678 Fix validation bug
ghi9101 Add data validation function
xyz1234 New Main Branch Commit
vwx7890 Main Branch Commit
jkl2345 Initial commit
之后
$ git log --oneline data-validatoin
mno6789 Add data validation function
xyz1234 New Main Branch Commit
vwx7890 Main Branch Commit
jkl2345 Initial commit
以下提交已合并为一个:

合并(Merge)
变基(Rebase)
合并(Merge)
用于集成已完成的功能,并保留开发上下文
变基(Rebase)
用于让功能分支跟上主分支,或在合并前清理历史
请记住
Git 高级