赞
踩
--rebase
的作用是将你在当前分支的本地提交(本地修改)重新应用到从远程仓库拉取的最新提交之后。这与传统的 git pull
(拉取后合并)不同,它通过将本地提交进行「重演」而不是合并,保持提交历史的整洁。
在 git pull --rebase
过程中,如果出现冲突,你需要手动解决这些冲突。--rebase
模式会暂停在冲突点,让你解决冲突并继续。
- # 1. 开始 rebase 过程
- git pull --rebase
-
- # 如果出现冲突,Git 会提示你解决冲突
- # 解决冲突后,标记冲突解决情况
- git add .
-
- # 继续 rebase 过程
- git rebase --continue
如果在处理冲突时遇到困难,你可以取消 rebase 过程,恢复到 rebase 开始前的状态:
-
- git rebase --abort
- # 1. 确保你在正确的分支
- git checkout master
-
- # 2. 使用 rebase 拉取远程更改
- git pull --rebase
-
- # 3. 解决任何冲突
- # Git 会提示你解决冲突,然后继续
- git add <conflicted-files>
- git rebase --continue
-
- # 4. 完成 rebase 后,推送更改到远程仓库
- git push
git pull --rebase
和 git stash
的比较虽然 git pull --rebase
很方便,但它假设你的本地提交已经保存到了本地分支的历史中。如果你有未提交的更改(如工作目录中的文件),你需要使用 git stash
来临时保存这些更改
- # 1. 暂存本地更改
- git stash
-
- # 2. 拉取远程更改并 rebase
- git pull --rebase
-
- # 3. 恢复本地更改
- git stash pop
-
- # 4. 解决冲突(如果有)
- git add <conflicted-files>
- git rebase --continue
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。