git提交文件的时候与别人刚好修改的是同一个文件,进而导致冲突

这篇具有很好参考价值的文章主要介绍了git提交文件的时候与别人刚好修改的是同一个文件,进而导致冲突。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

案例场景

日常大家一个项目组中所有人共同维护一个项目,时常会有多人修改了同一个文件的情况,提交的时候又刚好在同一个时间段提交,先提交的修改发起merge request被合并,后提交的人发起merge request后就会产生冲突,这样就有人告诉你,你的代码有冲突。这时就需要你来解决冲突了。

解决方法

针对于上面产生的冲突。你可以这样做。
首先使用git pull在自己的本地develop分支上更新最新的代码。
git两个人修改同一个文件,git,git
然后切换到需要解决冲突的分支下。
使用git checkout 有冲突的分支,切换到自己有冲突的分支;
使用git status查看状态;
使用git merge 远程分支 自己当前的分支,来合并别人的提交内容到自己的分支上;
git两个人修改同一个文件,git,git
此时可以从上图中看到会出现下面类似的关键字。CONFLICT,代表有冲突。
git两个人修改同一个文件,git,git
使用git status查看状态,可以看到一些自己好像没有修改的文件,但是状态却显示已经修改。像下面这样。
git两个人修改同一个文件,git,git
此时就是懵逼。于是可以将缓存区的标成绿色的文件拉出来。
使用指令:git add -i。
关于git add -i的使用我前面的文章:。有提到,可查阅。
将缓存区的文件拉出来之后,使用git status查看状态,可以看到类似下面的展示,文件已经从暂存区拉出来到工作区。
git两个人修改同一个文件,git,git
可以看到现在还是在带有“|MERGING”的分支下。所以这里可以使用指令git merge --abort指令来退出MERGING.
git两个人修改同一个文件,git,git
接下来可以使用git log查看提交日志,然后回退。这里这个方法比较笨,因为作者没有找到其它的方法来解决这个问题,有不同的方法的人,欢迎给出解决办法,最好详细一点。
接着查看日志,回退到没有冲突的那个节点。
git两个人修改同一个文件,git,git
其中绿色框中的描述为当时产生冲突的提交,所以回退到没有冲突的时候,即产生冲突的提交的上一次提交。即图中为蓝色框中的那次提交,拷贝蓝色框中的编号。使用指令:git reset 编号回退。
git两个人修改同一个文件,git,git
回退之后,使用git status查看状态,看看是否为自己当初修改后未提交时的状态。
然后使用git pull来更新最新的代码。拉取的时候可能会产生error,这时可以将自己本地的修改使用git stash暂存起来。
再次使用git pull拉取最新的代码。
git两个人修改同一个文件,git,git
再使用git stash pop将之前暂存的代码从暂存区拉出来。
若是有冲突,这时就解决冲突。可以编译一下项目,要是编译报错,定位到报错点,修改相应的错误。
编译无错后,提交代码。
以上的方法比较笨,并不是一个很好的方法。欢迎有好的方法的指导,作者比较迟钝,望指导的时候详细一点。

附上参考文章

https://zhuanlan.zhihu.com/p/397267546#:~:text=%E6%89%8B%E5%8A%A8%E4%BF%AE%E6%94%B9%20READ.md%20%E6%96%87%E4%BB%B6%E5%8E%BB%E6%8E%89%E5%86%B2%E7%AA%81%EF%BC%8C%E6%AF%94%E5%A6%82%E4%BF%AE%E6%94%B9%E4%B8%BA%EF%BC%9A%20This%20is%20second%2Fthird%20commit.%20%E7%84%B6%E5%90%8E%E4%BD%BF%E7%94%A8,add%20%E5%B0%86%E8%AF%A5%E6%96%87%E4%BB%B6%E6%B7%BB%E5%8A%A0%E5%88%B0%E6%9A%82%E5%AD%98%E5%8C%BA%E3%80%82%20%E5%88%9A%E6%89%8D%E9%81%87%E5%88%B0%E5%86%B2%E7%AA%81%E5%90%8E%EF%BC%8Cmerge%20%E8%BF%87%E7%A8%8B%E5%B0%B1%E8%A2%AB%E4%B8%AD%E6%96%AD%E4%BA%86%EF%BC%8C%E7%8E%B0%E5%9C%A8%E4%BD%BF%E7%94%A8%20git%20merge%20–continue%20%E7%BB%A7%E7%BB%AD%E5%90%88%E5%B9%B6%E8%BF%87%E7%A8%8B%E3%80%82
此文章给出了解决冲突的办法。文章来源地址https://www.toymoban.com/news/detail-613554.html

到了这里,关于git提交文件的时候与别人刚好修改的是同一个文件,进而导致冲突的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • git查看某个提交(commit)修改了哪些文件

    要查看某个提交(commit)修改了哪些文件,可以使用 Git 的 diff 命令结合 -p (逐行)或 -U (差异)选项。 以下是使用 git diff 命令查看提交修改文件的基本语法: 其中, commit_hash 是要查看修改历史的提交哈希值, file_pattern 是要检查的文件模式。可以使用通配符匹配多个文件

    2024年02月04日
    浏览(62)
  • Git切换用户;Git提交之后是别人的用户怎么办?

    前几天在入职之后,公司的电脑上仍然储存了之前用户的信息,比如git。 我在创建分支、提交代码的时候会遇到这样的问题: 登录的是我自己的账号,但是在git动态里缺显示的是其他人的头像。 建议将下面的几种方法都试试。亲测有用 打开控制面板,搜索凭据。 接着在w

    2024年02月15日
    浏览(59)
  • git pull的时候:您对下列文件的本地修改将被合并操作覆盖,请在合并前提交或贮藏您的修改。 正在终止

    使用git pull的时候报错: 发生这种情况一般都是由于别人修改了文件并提交了push,你没有pull别人修改的代码你也修改了同一个文件 一般这个时候有两个解决方法: 保留你文件的修改 将所有未提交的修改(工作区和暂存区)保存至堆栈中 在使用git pull命令就会发现没有报错

    2024年02月12日
    浏览(41)
  • idea提交代码时gitee显示别人的名字,如何更改git信息

    在公司中刚入职只能用别人的账号,导致一直都是用别人的账号提交代码 点击应用,最后重启idea中,就会让你重新输入账号和密码,更改完之后可以再次勾选回原来状态,就不用重启再输入密码 代码如下(示例): 代码如下(示例): 以上就是今天要讲的内容,本文仅仅

    2024年02月03日
    浏览(82)
  • Linux/Ubuntu下使用git从Github拉取项目文件、提交修改后文件的完整流程演示

    git是一种分布式开源版本控制系统,它有本地仓库和远程仓库,远程仓库可以和Github的仓库(Repositories)进行链接。远程仓库可以和Github的仓库(Repositories)链接后,提交代码时,在本地修改完代码后,使用git commit将修改提交到本地仓库中,然后再用git push将本地仓库的修改推送到

    2024年02月04日
    浏览(52)
  • git -push -f 强推后,别人提交的代码被覆盖的问题解决

    今天在提交代码时,因为merge了错误的代码导致我本地代码出现了错误 所以我直接 git reset --hard 到了 “修改引擎”的这一个提交,然后用了git -push -f;但是原本同事的下面这几个提交都被我强制推送的提交覆盖掉了。在gitlab的仓库中的提交信息中,还找不到之前同事提交的版

    2024年02月11日
    浏览(65)
  • 使用git时候提交时候发生冲突,你能解释冲突如何产生,你是如何解决的

    Git冲突情况举例: 简单来说就是本地修改的文件和目标远程库的同一个文件都有修改。这时无论是pull/push/merge时都会产生冲突。 1、不同分支下的merge 比如在不同分支下进行分支合并时,我们在本地修改了a文件并把a文件的修改push到了test分支下,接着我们切换到master分支下将

    2024年02月08日
    浏览(54)
  • 【已解决】git 撤销上次提交后修改文件再次提交 触发:Cannot do a soft reset in the middle of a merge

    记录一次 git 操作 git 撤销上次提交后修改文件,然后同步触发以下命令及报错(报错来源与git输出面板) 同步包含两步: pull push git pull 此次合并未处理(变更记录未覆盖任何冲突处) git pull 此次合并未处理干净(变更记录未完全覆盖所有冲突处) git pull 此次拉取前未提交

    2024年02月15日
    浏览(57)
  • IDEA-git提交的时候关闭强制检查(Checks failed)

    git提交的时候关闭强制检查,提交不成功,可以去掉该选项,跳过。

    2024年02月11日
    浏览(46)
  • git提交的时候出现异常“bad object HEAD”的另一种解决方案

    Git仓库是目前很主流的代码管理工具,一旦被损坏或出现异常,内心想直接吐血。 当进入到Git仓库执行命令: git status 显示: fatal: bad object HEAD 在此尝试用git checkout git reflog 等命令希望能恢复,但都是提示错误。在网上搜索大部分看到的是如下的解决方式: 但是我的代码分

    2024年02月02日
    浏览(65)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包