1.Git SVN
冲突怎么解决
情景一:多个分支代码合并到一个分支时
情景二:多个分支向同一个远端分支推送代码时
实际上,push操作即是将本地代码merge到远端库分支上。
关于push和pull其实就分别是用本地分支合并到远程分支 和 将远程分支合并到本地分支
所以这两个过程中也可能存在冲突
git的合并中产生冲突的具体情况:
<1>两个分支中修改了同一个文件(不管什么地方)
<2>两个分支中修改了同一个文件的名称
两个分支中分别修改了不同文件中的部分,不会产生冲突,可以直接将两部分合并。
Git: 解决冲突的方式有几种:
命令行修改 Studio绑定修改(最为方便) ....
今天我就来说一下如何用我们的Android Studio 来解决我们的冲突
首先我们的Studio 要绑定我们的GitHub / SVN 绑定成功后 我们将可以从我们的GitHub上把我们所要下拉项目的路径复制下来:

再来到我们Studio中 选择VCS 下的 Git

我们就会弹出这样一个窗口:

这里放置的就是我们上面所保存的路径 然后点击Clone Studio就会帮助我们从GitHub上 把我们这个项目拉下来 这里我们可以直接运行到我们的Studio上去 我们会发现我们VCS下多了一个Git窗口 :

Commit File 也就是提交到本地
Push 提交我们的代码到服务器
如果你进行了修改 必须先Commit 才可以 Push 这是我们Git规定的提交要求
当我们同时修改了某个位置想要上传到服务器端的时候 会出现几种情况:
1.我们修改的地方 是我们服务器中没有的 它会默认合并到原代码中 并且不会产生冲突
2.我们修改的位置占据了之前代码的位置 并且对之前代码进行了更改 那么我们就需要解决冲突 :
首先提交到本地 : 右键我们的app项目

点击Commit Directory 提交目录:
这里绿色则表示你原代码中没有但是你现在添加上去了

这里我们发现有一个默认勾选的对号 这个对号我们可以取消勾选 也就是我们不使用我们修改过后的代码 依旧使用之前的代码 如果勾选了 那就会使用我们现在修改过后的代码 并且把原代码覆盖掉 选择好以后 我们选择 右下角的Commit 如果你代码不够规范的话 接下来会提示你一个窗口 提示你修改不规范的代码 也可以选择不修改 直接commit 接下来 我们就要上传代码到我们的服务器了 也就是 Push

弹出:

我们点击Push 提交 这里我如果没有我们只是做了简单的修改的话 不会对我们进行提醒 右下角就会出现:

这里也就是提交成功的案例
这里我测试了几次发现没有产生冲突 下次产生冲突我会第一时间更新 --.--
2如何创建分支?
两个步骤:


很简单: +New Branch 就是创建分支咯
我们创建分支干什么呢?
一般我们用来做迭代更新版本的保存 或者 说我们刚到公司可能对接手的项目不太熟悉 这时候我们就可以在我们的子分支中进行操作 以保证 主分支不被破坏
合并分支?
我们刚才也说了 我们创建子分支可以避免我们对主分支的破坏 那我们工作完成以后 如何对主分支的合并呢?

同样的位置 我们只需要点击Merge Changes
就可以合并我们的分支 :
接下来选择我们的主分支 会出现如果出现冲突我们就会看到这样一个效果:

我们双击点击进去看一下:

注意左下角:Accept Left / Accept Right
全部选择左边(子分支) 或者 全部选择右边 (主分支)
或者我们进行手动更改:

点击<<也就是使用这个了 X也就是不使用
我们把所有冲突解决完以后 点击右下角的Accept 其他的冲突同样
完成以后我们就可以看到我们的冲突完美解决啦
如果想使用命令行操作的话 推荐文章:
[详解命令行操作Git](https://www.cnblogs.com/cxk1995/p/5800196.html
)
是不是学到了呢? 如果发现错误 请联系我o
网友评论