美文网首页
关于GIT和SVN提交代码是产生冲突

关于GIT和SVN提交代码是产生冲突

作者: 米花噗噗 | 来源:发表于2019-06-03 21:52 被阅读0次

Git

push和pull其实就是分别将本地分支合并到远程分支和将远程分支拉到本地分支上

merge :就是将两个或者两个以上的合并到一起的操作,主要用于将一个分支合并到另一个分支上的操作

产生冲突的原因:

当a修改了这行代码,我同时也修改了这行代码,当我在提交的时候,这时就会产生冲突,也就是两个分支相同文件相同位置都做了不同的操作

合并分支解决冲突:

选中项目右键点击Git选择里面的Resolve Conflicts,会出现一个弹窗,显示了冲突的文件,选择里面的饿任意的一个文件后点击Merge会出现三个代码框

a.左边的Local Changes代表“当前”分支上的修改

b.右边的Changes from server代表“合并进来”的分支上的修改

c.中间的Result代表的是经过处理后的最终内容

在三个代码框内有四种颜色:

红色:代表当前分支和合并分支都编辑过的内容,属于冲突

蓝色:代表的是单方面编辑过的内容,属于改变

灰色:代表被删除的内容,也属于改变

绿色:代表新增的内容,也属于改变

其实真正需要解决冲突的就是红色的区域,其他区域也就是让再次确认改变的内容,可以不用去修改

在Local Changes左上角有一排按钮:

上下按钮:代表的是跳转到下一个冲突文件

三个不同地按钮

从左到右:第一个是比较左边和中间的内容,第二个是比较中间和右边的内容,第三个是比较左边和右边的内容

从左到右:第一个是接受两边没有冲突的改变,第二个是接受左边没有冲突的改变,第三个是接受右边没有冲突的改变

svn

产生Svn:当a和b都有一个同样的txt文件和同为一个13的版本时,b在版本为13的基础上添加了一句话,这时版本升级为14,然而a并不知道b已经修改版本为14,a在初始的版本里面添加一句话后提交,应为这时的服务器版本是14,而a是在版本为13的时候进行的提交,这时就产生版本冲突

同一个文件,同一行代码,被两个人同时修改

解决svn 冲突:

            ①:放弃自己的去更新服务器的版本,在更新以后的版本上做修改,然后提交

            ②:产生冲突后会在本文件夹下生产三个文件不能手动去删除和手动去修改test里面的东西,否则只会导致无法去解决冲突

解决的方法:

        右键点击TortoiseSVN菜单里的Edit conflicts这个功能去编辑冲突,点击Edit conflicts会出现一个工具自带的一个编辑窗口,他里面分为三个部分,左边是指的是与它冲突的版本文件里面的内容,右边是指还未提交刚编辑好的,下面显示的是处理冲突后显示的效果。如果是冲突的地方会被报红,系统不知道如何去处理让我们去处理,最后自己来选择,我选择使用的是右边的,右键选择第一个会出现使用此模块,这时下边合并冲突那块会变为绿色,最后点击最上面的Mark as resolved选择完成合并冲突这样冲突就解决了

降低解决冲突的复杂度:

①:文档编辑完后要尽快去提交,频繁的提交会使冲突减低   

②在提交时,写上明确的Message信息,使更新的时候方便去查看  

 ③使用svn时就是先提交后更新

创建分支:

Android studio 右下角有一个GitBranch,在点击new Branch在里面输入分支的名字这样分支就创建好了

相关文章

  • 关于GIT和SVN提交代码是产生冲突

    Git push和pull其实就是分别将本地分支合并到远程分支和将远程分支拉到本地分支上 merge :就是将两个...

  • git常用命令之提交

    git里面的提交代码和svn的提交代码有很大的区别,git的提交是把代码提交到本的仓储区,只有push之后,代码才...

  • git的详细使用过程+常见冲突解决

    标签(空格分隔): git的详细使用过程 git提交常见冲突解决 序: 代码托管分两种,一种是SVN一种是git,...

  • SVN 部分命令

    1. 从版本控制删除文件 2. git svn 命令 当我们使用“git svn rebase”合并产生冲突是,我...

  • svn中commit如何全选文件

    由于公司的代码管理,git和svn都在使用。使用svn提交代码时,经常需要提交多个文件,比如一堆图片文件。网上搜的...

  • SVN代码提交冲突

    版本控制工具SVN 问题:旧代码需要全部删除,新的代码替代产生的冲突后,先恢复代码。解决代码冲突后上传,再删除,再...

  • Git-Svn 命令的使用

    git提供了 git-svn命令,让我们可以用git来操作svn,提交、更新、解决冲突,看本文章之前,希望你已经有...

  • Jenkins获取SVN或git提交日志上传到fir

    svn或git每次提交代码时都自动触发fastlane打包,获取git或svn的提交日志,打包完成后上传到fir作...

  • GIT命令

    GIT提交代码合入分支冲突

  • 在centos下如何用apache运行gitlab

    公司的代码管理需要从svn转为git。之所以放弃svn,我们主要考虑git具有更灵活的代码冲突管理、分支及版本管理...

网友评论

      本文标题:关于GIT和SVN提交代码是产生冲突

      本文链接:https://www.haomeiwen.com/subject/rogqxctx.html