idea中git流程
正常情况下pull不会冲突,比如你更新了文件A的第一行代码,远程仓库中文件A的第二行文件别修改了,你pull后本地仓库中文件A的第二行代码会被更新,pull会出现冲突的情况是,你也修改了文件A的第二行代码(然后拉取远程的最新更改,并将你的提交(commit到本地仓库的代码)重新应用到这些更改之上(相当于重写提交历史)。拉取远程更改,并创建一个新的“合并提交”将远程分支和本地分支合并。消除分叉,提交
·
1.add &commit(idea中commit时自动执行add),需要注意
- 注释写完后检查下是否正确,因为push后修改注释麻烦且会出现分支合并,不美观
- 先commit后pull,否则无法pull,除非
git stash(暂存修改)→git rebase→git stash pop(恢复修改)。(stash适合未完成的代码,commit适合已完成的代码)
2.pull,更新代码。pull不会覆盖工作区中代码,idea中pull时会出现弹框给你两个选项
- merge incoming changes into the current branch(将远程的更改合并到当前分支),效果是:
-
拉取远程更改,并创建一个新的“合并提交”将远程分支和本地分支合并。
-
提交历史会保留合并的痕迹(多一个合并提交)。

适用场景:适合团队协作分支(如main/master),保留合并记录更清晰。
-
- rebase the current branch on top of incoming changes(将当前分支的提交“变基”到远程拉取的更改之上),效果是:
-
将本地未推送的提交暂存起来。
-
然后拉取远程的最新更改,并将你的提交(commit到本地仓库的代码)重新应用到这些更改之上(相当于重写提交历史)。


-
消除分叉,提交历史更线性、干净,没有多余的合并提交。
适用场景:适合个人分支或希望保持提交历史整洁的情况。
-
其他:
正常情况下pull不会冲突,比如你更新了文件A的第一行代码,远程仓库中文件A的第二行文件别修改了,你pull后本地仓库中文件A的第二行代码会被更新,pull会出现冲突的情况是,你也修改了文件A的第二行代码(你和远程同时修改同一行就会冲突),此时需要手动选择保留哪一版代码

更多推荐

所有评论(0)