问题1:如果遇到自己的文件在远程仓库dev分支被别人修改了,自己在本地仓库test分支继续在写代码
先拉取最新的代码 覆盖本地dev分支 TortoiseGit->Pull
被修改如图
2.拉取最新的代码(拉取成功后 本地dev分支user有四条属性)
3.切换到自己的分支tortoiseGit->Switch/Checkout
自己分支内user代码如图
4.完成自己的代码后正常提交Git Commit -> “test”
5.正常TortoiseGit->Push 推送至远程仓库 test分支
此时远程仓库dev分支与test分支代码对比如下
6.开发过程中,我们需要将自己test分支代码与dev分支代码合并
首先切换到dev分支 TortoiseGit->Switch/Checkout
切换完成后点击TortoiseGit->Merge
点击OK报错,原因:user类代码不一样 产生冲突
7.接下来我们要手动调整代码或者点击TortoiseGit->resolve
点击后错误文件提示双击错误文件打开编辑器
编辑器如图
一顿操作过后…
解决完成此时本地仓库dev分支已成功合并
8.执行Git Commit -> “dev”
点击提交,此时本地库dev分支与test分支合并完成 提交dev代码去远程仓库->Push
9.成功后远程仓库dev分支代码改变
下一步选择自己的test分支 合并dev分支的代码 以获取最新的代码
(切分支test 选择merge 选择dev分支)同步完成后 test分支获取了最新的代码
问题2:远程端dev分支有了新的文件(不同的人上传了新的文件到dev分支)
示例:
远程dev分支下 被他人传了一个新的文件 Student.java
我们在本地也创建了一个新的文件Teacher.java
提交commit + Push远程仓库test分支
将本地test分支与本地dev分支合并(切换dev分支merge)合并完成后检查dev分支是否有文件
此时远程仓库与本地仓库内容不一致
这时我们推送本地dev分支去到远程dev分支时,会发生错误 ->Push
解决方案:先拉取一遍远程仓库里的dev分支 ->Pull 获取最新的内容
拉取完成后,本地dev分支获得远程仓库dev分支中Student.java文件
此时再进行推送操作,将远程dev分支也更新->Push
此时我们分支的代码还不是最新的,需要切换到自己分支与本地dev合并
结论:上传之前必须先拉取最新的代码,每天干活前更新本地dev