一.拉取最新代码
一般在本地进行开发时,都是切换到自己的dev分支进行开发,当开发完成需要进行代码提交,在进行代码提交前需要先进行拉取远程仓库代码,进行更新,但是此时会提示需要将本地代码进行commit或者stash,一种解决办法如下:
在自己的dev分支执行 git stash 将所有的更新进行暂存, 然后执行git pull 从自己的远程仓库拉取一下代码
切换到developer分支进行git pull 从项目的远程仓库拉取最新的代码
切换到自己的dev分支 执行git rebase developer 将刚才从项目的远程仓库拉取到本地的代码合并到自己的dev分支, 一般这时候都不会产生冲突(因为已经将自己的修改进行了暂存)
二.将暂存区弹出, 还原需要进行修改的代码
git stash list 可以查看暂存区各个文件的序列号
git stash pop 将暂存区所有的文件弹出
git stash pop 序列号 按照序列号将暂存区的文件弹出
三.解决冲突
将暂存区的文件弹出合并后,如果存在冲突, git 会把冲突文件的路径显示出来,找到并打开文件,处理冲突(文件合并时,同一处代码,出现异同)
<<<<<<<<<<<< update up stream
a = int("3")
============
a = int("4")
>>>>>>>>>>>> stashed changes
1.<<<<<<<<<<<< 和 ============ 之间的内容为:
git pull 下来的内容(以 行 为单位显示)
2.============ 和 >>>>>>>>>>>> 之间的内容为:
本地开发,进行了修改的内容(以 行 为单位显示)
此时需要代码修改双方进行确认,如何去留代码,解决冲突, 解决完冲突 执行 git commit --continue, 然后就可以进行git push 将代码提交到自己远程的分支了
四.远程仓库合并申请
如果是一个多人合作开发的项目,一般情况下,每个开发人员都会有一个自己的远程仓库, 在本地开发完成后将代码提交到自己的远程仓库, 然后发起一个合并申请, 申请将自己的代码合并到远程仓库的developer分支上,此时可能会需要填写合并审核人, 申请合并时,需要自己先在页面上进行代码审查,检查是否存在冲突,或者删减了其他开发人员的代码(因为有可能其他开发人员在同一时刻,也进行了远程合并申请,且通过合并, 而此时你的代码里是没有拉取到该开发人员的代码的,会存在冲突或者删减的可能), 如果存在冲突, 需要终止合并申请, 在本地拉取developer分支最新代码,合并到自己的dev开发分之,本地解决冲突,提交代码,远程仓库重新发起合并申请.
五.在进行代码git push 前需要注意前端代码的格式问题
vim 需要提交的前端代码文件
进入末行模式:
输入:set ff, 查看是否是合法的格式(一般需要是UNIX), 如果不是,使用 set fileformat=正确的格式 进行更改
六.强制推送,覆盖远程仓库代码的方式
如果 git push 时提示: 需要先执行git pull (本地分支代码版本 节点 落后于远程分支), 如果此时远程仓库代码存在问题, 不便进行拉取, 可以使用 git push -f 进行强行推送,覆盖远程代码.
执行该操作需谨慎,必须确认远程仓库的代码是否可覆盖
来源:https://www.cnblogs.com/lowmanisbusy/p/9033537.html