【Git】制造冲突以及解决冲突的详细方法

这篇具有很好参考价值的文章主要介绍了【Git】制造冲突以及解决冲突的详细方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

介绍

这里是小编成长之路的历程,也是小编的学习之路。希望和各位大佬们一起成长!

以下为小编最喜欢的两句话:

要有最朴素的生活和最遥远的梦想,即使明天天寒地冻,山高水远,路远马亡。

一个人为什么要努力? 我见过最好的答案就是:因为我喜欢的东西都很贵,我想去的地方都很远,我爱的人超完美。因此,小编想说:共勉!

目录

一、为什么会发生冲突?

二、制造冲突

第一步:

第二步:

第三步: 在本地提交,并推送到远程仓库

第四步:发生冲突

三、解决冲突

方法一、在图形化界面中进行

第一步:先不点击拉取,将上述的框"×"掉,右击点击同步

第二步:出现冲突文件的标识

 第三步:查看本地的文件标识

第四步:右击,点击编辑冲突

第五步:优先使用右边的文件(也可以优先使用左边的文件,看实际情况的需要)

 第六步:当最下方那个框中没有红色的行,便代表没有冲突,进行保存​编辑

第七步:跳出弹窗,标记为解决

 第八步:冲突符号变更为已编辑的表示,进行提交,并推送到远程仓库

 第九步:完成

方法二、在命令行中进行

第一步:打开命令行

 第二步:提交文件 ,并发生了冲突

第三步:解决冲突

 在命令行中出现其他的报错信息的解决方法

报错一:

解决方法:

1.将所要push的内容所在的分支的protected权限关闭

2.新建其它分支,将项目push到新建的分支上,后期再进行merge

报错二:

报错三:(也就是本文报的错误)

报错四:

四、开发注意事项


一、为什么会发生冲突?


在gitee中创建文件或者在文件中修改代码,且在本地操作本地没有进行同步更新,就进行修改或者创建并且提交  就会发生冲突(相当与你和你同事前后修改了代码并提交,但是并没有在提交之前拉取进行更新)

注意:git与svn不同的是,svn自动会对比哪里出现了冲突,而git是要自己手动pull拉取更新之后才会进行对比并显示发生冲突的提示
 

二、制造冲突

第一步:

在gitee中编辑一个文件中的内容并提交,或者创建一个文件输入内容并提交,小编这里是编辑文件中的内容并提交

git解决冲突,git,git

第二步:

在本地也编辑文件内容并提交,或者创建一个文件输入内容并提交,小编这里是编辑文件中的内容并提交

git解决冲突,git,git

第三步: 在本地提交,并推送到远程仓库

第四步:发生冲突

git解决冲突,git,git

这里只演示在本地的图形化界面进行冲突的制造,命令行也是同上步骤一样,在一个电脑或者文件夹、gitee中进行文件内容的编辑/创建文件输入内容并进行提交,如是在本地的图形化界面进行提交,还需要进行推送,将文件推送到远程仓库。然后在另一个电脑或者文件夹中进行文件内容的编辑/创建文件输入内容并进行提交,且推送到远程仓库。

三、解决冲突

方法一、在图形化界面中进行

第一步:先不点击拉取,将上述的框"×"掉,右击点击同步

第二步:出现冲突文件的标识

出现下面代表,文件被修改了,需要再次提交并推送

git解决冲突,git,git

 git解决冲突,git,git

 第三步:查看本地的文件标识

冲突文件标识,下图中的黄色带感叹号三角形

git解决冲突,git,git

第四步:右击,点击编辑冲突

 git解决冲突,git,git

第五步:优先使用右边的文件(也可以优先使用左边的文件,看实际情况的需要)

git解决冲突,git,git

 第六步:当最下方那个框中没有红色的行,便代表没有冲突,进行保存git解决冲突,git,git

第七步:跳出弹窗,标记为解决

 git解决冲突,git,git

 第八步:冲突符号变更为已编辑的表示,进行提交,并推送到远程仓库

git解决冲突,git,git

 第九步:完成

git解决冲突,git,git

方法二、在命令行中进行

第一步:打开命令行

git解决冲突,git,git

 第二步:提交文件 ,并发生了冲突

git解决冲突,git,git

出现上面的 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'https://gitee.com/。。。。

代表发生冲突

第三步:解决冲突

git解决冲突,git,git

 在命令行中出现其他的报错信息的解决方法

报错一:

! [remote rejected] master -> master (pre-receive hook declined)

解决方法:

git push不上去的原因在于所push的分支权限为protected,只有项目的管理员或者项目的管理员指派的具有相应权限的人才能进行push,要进行项目的push,有如下两种方法:

1.将所要push的内容所在的分支的protected权限关闭

(1)进入所在项目的settings

(2)点击进入Protected branches,点击unprotected将master分支的权限改变,即关闭master的protected权限

2.新建其它分支,将项目push到新建的分支上,后期再进行merge

(1)新建分支

git branch 分支名

(2)切换分支

git checkout 分支名

(3)进行项目上传

git add .

git commit -m "提交的信息"

git remote add origin 远程仓库地址

git push -u origin 分支名

具体请看下面文章

 git push解决办法: ! [remote rejected] master -> master (pre-receive hook declined) - cppeterpan - 博客园 (cnblogs.com)

报错二:

! [remote rejected] master -> master(non-fast-forward)

解决方法:

从提示语中可以看出是,问题(Non-fast-forward)的出现原因在于:git仓库中已经有一部分代码,所以它不允许你直接把你的代码覆盖上去。于是你有2个选择方式:

1、强推,即利用强覆盖方式用你本地的代码替代git仓库内的内容,如果远程仓库是刚建的,没有代码,可以这样操作,尽量避免这种操作方法。

git push -f

2、先把git的东西fetch到你本地然后merge后再push

$ git fetch
$ git merge

3、在使用的时候,git merge,又出现了以下的问题

  1. git merge

  2. fatal: refusing to merge unrelated histories

对于这个问题。使用git pull origin master --allow-unrelated-histories
来处理一下。

4、然后继续git merge,依然有问题

  1. fatal: You have not concluded your merge (MERGE_HEAD exists).

  2. Please, commit your changes before you merge.

这个就好处理了,是我们没有提交当前的变化, git add .,git commit -m "提交信息"

然后再来一次git merge,然后ok.

5、然后输入git pull,显示如下

Already up-to-date.

最后就可以执行git push origin master

git解决冲突,git,git

报错三:(也就是本文报的错误)

! [rejected]        master -> master (fetch first)

解决方法:

git解决冲突,git,git

git pull --rebase origin master

git push -u origin master

报错四:

git add .
git push origin master

出现了这样的问题 everything up-to-date

原因:git提交改动到缓存,要push的时候不会将本地所有的分支都push掉,所以出现这个问题。那么我们就需要新建分支提交改动然后合并分支。

1.先创建一个新的分支提交改动
$ git branch newbranch

2.检查这条命令是否创建成功
$ git branch

这时终端会输出:

newbranch

*master

这样就创建成功了,前面的*代表的是当前你所在的工作分支,接下来就要切换工作分支。

3.git checkout newbranch
4.然后将你的改动提交到新的分支上
$ git add .

$ git commit -m "提示消息"

此时可以$ git status 检查下提交情况。如果提交成功,我们接下来就要回主分支了,$ git checkout master

5.我们将新分支提交的改动合并到主分支上
$ git merge newbranch

合并分支可能产生冲突这是正常的,虽然我们这是新建的分支不会产生冲突,但还是在这里记录下。可以用

$ git diff 来查看产生冲突的文件,然后做对应的修改再提交一次就可以了。

6.我们的问题解决了,接下来就可以push代码了
$ git push -u origin master

7.最后,新建分支的朋友别忘了删除分支
$ git branch -D newbranch

如果想保留分支只是想删除已经合并的部分只要把大写的D改成小写的d就行了。

 冲突中文件的代码:

git解决冲突,git,git

四、开发注意事项

  • 代码需要备份【主要是防止代码丢失】
  • 每个大版本都需要备份支持【主要是1.0出现问题时,不能在2.0的版本上修复】
  • 每天上午上班,要从服务器下载最新的代码到本地
  • 每天下午下班前,把自己的代码提交到服务器(一定是测试过,没有问题的代码)
  • 团队开发时需要解决文件冲突问题

以上就是小编所实践的内容,希望能够帮助到大家,感谢各位大佬的观看!!!

参考资源:

如何解决git上传文件出错[rejected] master -> master (fetch first) error: failed to push some refs to '_way-up的博客-CSDN博客https://blog.csdn.net/weixin_43264399/article/details/87350219文章来源地址https://www.toymoban.com/news/detail-754438.html

到了这里,关于【Git】制造冲突以及解决冲突的详细方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Git】TortoiseGit代码冲突解决方法

    冲突场景:User1和User2修改、拉取相同文件 User1修改文件C内容,提交并推送,成功; User2修改文件C内容,拉取,提示合并错误。 冲突分析: 此时文件状态还未显示冲突,因为本地文件只是修改,并未提交到本地暂存区;而此时从远程拉取的文件已保存在暂存区,但又无法和

    2024年01月20日
    浏览(73)
  • 如何解决进行git合并造成的冲突详细的很

    如何解决进行 git 合并造成的冲突 场景: 在我们在参与项目开发的时候,通常会创建公共的文件,但是当我们编码完成,使用 git 进行分支合并时,往往会出现合并冲突,也就是负责不同部分的开发人员会对同一个文件的同一个部分进行修改,这个时候就需要我们解决合并造成

    2024年02月06日
    浏览(39)
  • vscode中git拉取、提交代码、解决冲突,以及合并代码的操作

    场景:本地有修改代码,远程仓库没有更新,这时本地想要提交代码。 步骤:本地修改了testA文件内容-本地先暂存提交-拉取-推送; 本地修改了testA文件内容 本地先暂存提交 拉取 推送 远程仓库上就可以看见提交记录了 解决冲突场景:本地有修改代码,远程仓库同时有更新

    2024年02月05日
    浏览(63)
  • Git合并冲突的根本原因和解决方法

    假如您现在正在参与一个团队项目,并取得了实质性的进展。然而,当你准备提交代码的时候,发现团队中的某个人也更改了同一个文件,并且先你一步提交了——您现在遇到了代码冲突问题。而且需要花时间去解决自己的更改与别人的更改之间的矛盾。这被称为合并冲突,

    2024年02月16日
    浏览(37)
  • git代码冲突解决,覆盖本地,本地和远程保持一致方法

    Git是我们开发中用到的一种代码保存和合并开发的工具,但是因为开发是团队,因此会出现合并代码冲突的问题,所以我们需要解决冲突的代码。   因为在合并分支的时候,master分支和dev分支恰好有人都修改了同一个文件,GIT不知道应该以哪一个人的文件为准,所以就产生

    2024年02月05日
    浏览(45)
  • IDEA遇到 git pull 冲突的几种解决方法

    主要是项目中的文档目录,看的时候可能多了些标注,现在远程文档更新,本地的版本已无用,可以强拉 关于commit和pull的先后顺序,commit–pull–push 和 pull–commit–push的顺序,两种情况都遇到过代码冲突。解决方法如下: // 场景 同事 有新提交 我 没有pull - 修改了文件 - p

    2024年02月11日
    浏览(42)
  • Git - 导出(archive)、忽略(gitignore)、隐藏(Stash)、合并冲突(merge)的解决方法

    本次集中总结了Git4个常规操作,导出(archive)、忽略(gitignore)、隐藏(Stash)、合并冲突(merge)的解决方法,希望帮助到正在辛苦寻找的你。 .gitignore忽略文件 之前开发和部署服务比较仓促,所以有很多图片文件一起加载到服务中,使得仓库代码922M,所以要分离出图片和忽略部分,

    2024年02月07日
    浏览(34)
  • GIT常见报错以及解决方法

    提示信息为 commit是将stage中的文件提交到本地仓库中(History或Repository)中。我们修改了代码,但只是在工作区修改的(Working Directory),stage中并没有修改,所以commit时检测不到提交到本地仓库的修改,于是提示“no changes added to commit” 将这几个文件选择至少一个git add到暂存

    2024年02月17日
    浏览(31)
  • git 分支合并冲突解决

    已经累到不想说话了,直接上流程吧! 1、比如你想A分支合并到B分支,先把这两分支都pull一下最新代码:git pull 2、切换到要合并的分支:git checkout tougu_pan (tougu_pan 是我的B分支) 3、在 tougu_pan 分支上执行 git merge --no-ff dev 4、git status 查看本地修改,就会出现以下状态 5、如

    2024年02月10日
    浏览(62)
  • git代码冲突解决办法

      作者是一个工作2年的Java程序猿,因为自己经常用到git,每天都需要提交代码,有时候合并代码也会有一些类代码冲突,把自己的解决方法告知出来,让大家有一定的参考。 为什么会产生冲突? 因为在合并分支的时候,master分支和dev分支恰好有人都修改了同一个文件,GIT不

    2024年02月16日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包