我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:2019年全年资料生肖歇后语 > 取代码 >

git 在使用拉取、推送(pull或push)时时候会出现这样的错误提示

归档日期:07-14       文本归类:取代码      文章编辑:爱尚语录

  与最新提交的数据合并分支后,可以推送了,但还是不能拉取,这是怎么回事呀。

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  git pull origin 拉取代码到本地,解决拉取代码时发生的文件冲突:

  每次使用该命令前,需要保证本地工作区是没有任何修改代码的,也就是说需要将本地工作区编辑过的文件添加到暂存区(git add .),或提交到本地仓库中(git commit),才可以使用该命令拉取指定分支的代码合并到当前分支中。

  每次在操作完git commit命令后,必须拉取一下master分支代码,保持本地正在开发功能逻辑的代码分支代码是最新的,避免后续在提交时冲突过多或覆盖掉其他人的代码的问题出现。

  如果我们需要将master主干分支的代码拉取并与我们当前分支(xuzhangzheng2)的代码进行合并的话,可以使用该命令。效果如图:

  执行命令后,可以看到提示Alreadyup-to-date,意思为:已经是最新的了,无需进行更新。

  当我们拉取的主干分支master被修改后,再执行拉取命令,会看到如图所示效果:

  绿色框框选部分为本次更新(包含新增、删除、修改)的文件及具体信息,文件名后面的9 表示有9行有更新, +++++++++表示这些更新是新增(+)还是删除(-)。

  红色框框选部分为本次更新影响的文件数,新增的行数(insertions),删除的行数(deletions)。

  当我们执行git pullorigin 分支名称 命令想要拉取某一个分支的最新代码到本地,并合并到当前分支时,遇到了如下图的提示:

  红色框框选部分为出现冲突的文件,绿色框框选部分为提示语:自动合并失败,修改冲突然后提交修改后的结果。

  第一句中提到了一个关键词CONFLICT(content),这个词的出现表明某一个具体文件在合并过程中发生了冲突。发生冲突的原因大致可以理解为你与你的同事两个人在同一个文件中都进行了编辑操作,当其中一个人拉取合并了另一个人的分支,或拉取合并了另一个人合并过的分支的话,就会出现合并冲突的问题。

  冲突,简单的说,同一个文件2个人编辑,2个人如果编辑的行数没有重合的线行),合并时就没有冲突;若2个人编辑的行数有重合的线行),合并时就会出现冲突,同时,会将2个人编写的内容都罗列出来,让出现冲突的那个人进行解决,最终将冲突解决完毕后,再进行提交合并等操作。

  按照冲突提示的路径找到冲突对应文件(我使用的IDEA,由于有语法检查,所以一打开就看到错误文件在哪了),打开文件后,会看到如图红框框选部分,被蓝色线个蓝色框框选的文本信息,如下三句:

  中间的======是用于分割本地变更和远程仓库中的变更的,也就是说出现冲突时,如图,使用======把冲突的部分分割成2块。

  版本号,也就是示例中的a5d8ca0b4fd8847b2c21d96900ac1edcf859ca1b,即为提交的版本号,使用该版本号可以在gitlab中找到提交记录,从而方便查询其他同事在对同文件进行修改时,都修改了哪些内容,便于进解决冲突。

  根据实际业务场景,将本地修改变更的部分和远程仓库中修改变更的部分进行合并,留下满足业务逻辑的代码即可(若团队开发期间,出现冲突时,建议找到相关同事进行沟通,确保自己解决冲突的方法不会影响到其他人编写的功能),同时将上面提到的冲突标识删除掉,不然无法通过语法检查和编译。

  解决冲突后,若需要提交代码的话,需先将代码使用git add .存入缓存区,或直接使用git commit –am “本次提交描述” 或git commit –a –m “本次提交描述”将代码提交至本地仓库区,同时再次拉取制定分支的最新代码,确保本次的代码时刻都是最新的,再进行接下来的推送代码至远程仓库操作。

  sed tr 是不是我安装这样的软件就可以了?追答那不应该的,这俩软件不需要额外安东西的。

本文链接:http://mystylebag.com/qudaima/563.html