Git|Git推送代码到远端时发现文件冲突,该怎么办?(一)

简介: 多人使用同一个远端仓库开发项目,这时候直接推送代码到同一远端仓库,然后就会出现一系列的文件修改冲突情况,接下来我们具体情况具体分析一下。本文的主要围绕着下面两种情况展开的,在阅读之前可以先自己思考一下问题的答案是什么?

背景

多人使用同一个远端仓库开发项目,这时候直接推送代码到同一远端仓库,然后就会出现一系列的文件修改冲突情况,接下来我们具体情况具体分析一下。本文的主要围绕着下面两种情况展开的,在阅读之前可以先自己思考一下问题的答案是什么?

  • 不同的人修改同一分支不同的文件,怎么解决冲突?
  • 不同的人修改同一分支相同的文件的不同区域,怎么解决冲突?

不同的人修改同一分支不同的文件

今天小红和小绿都在master分支上做开发,小绿修改A文件,小红修改B文件。小绿先把文件推送到远程仓库。然后小红再推送文件到远端仓库的时候,发现推送出错了。

hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

不要慌,这是个小场面,只要更新一下本地代码(git pull)再推送一下即可。操作流程如下图所示:

image.png

不同的人修改同一分支相同的文件的不同区域

今天小红和小绿又都在master分支上做开发,这次他们修改的是同一个文件,小绿修改文件的第一段代码,小红修改文件的第二段代码。小绿先把文件推送到远程仓库。然后小红再推送文件到远端仓库的时候,发现推送出错了。这时候该怎么办呢?

不要慌,这都是个小场面。这次虽然修改的是同一个文件,但是还没有涉及到同一个区域,Git还是可以自动处理这种情况的。所以还是按照之前的方法,在提交之前,更新一下本地代码(git pull)

image.png

总结

以上两种情况也是我们开发过程中最常见的情况,除了推送报错的时候我们这么干,那么我们是不是还有优雅的方法呢?

肯定是有的,就是在提交本地代码前,先更新一下本地代码,然后再提交推送。
image.png

如果是先提交,再更新,最后推送到远端,提交记录中会多一条合并代码的记录,所有在意这条记录的同学就千万不要搞错顺序了。

image.png

目录
相关文章
|
3月前
|
IDE 网络安全 开发工具
【Azure App Service】Local Git App Service的仓库代码遇见卡住不Clone代码的问题
【Azure App Service】Local Git App Service的仓库代码遇见卡住不Clone代码的问题
【Azure App Service】Local Git App Service的仓库代码遇见卡住不Clone代码的问题
|
3月前
|
开发工具 git Python
通过Python脚本git pull 自动重试拉取代码
通过Python脚本git pull 自动重试拉取代码
189 5
|
1月前
|
Shell 开发工具 git
git学习三:git使用:删除仓库,删除仓库内文件
通过GitHub的设置页面删除仓库,以及如何使用Git命令行删除仓库中的文件或文件夹。
151 1
git学习三:git使用:删除仓库,删除仓库内文件
|
1月前
|
开发工具 git
git如何修改提交代码时的名字和邮箱?
git如何修改提交代码时的名字和邮箱?
66 4
|
1月前
|
开发工具 git 索引
git上面中新建gitignore文件,并且去除已经在仓库版本管理中的文件夹
git上面中新建gitignore文件,并且去除已经在仓库版本管理中的文件夹
69 4
|
1月前
|
Java Linux 开发工具
IDEA中git提交前如何关闭code analysis以及开启格式化代码
【10月更文挑战第12天】本文介绍了在 IntelliJ IDEA 中关闭代码分析和开启代码格式化的步骤。关闭代码分析可通过取消默认启用检查或针对特定规则进行调整实现,同时可通过设置 VCS 静默模式在提交时跳过检查。开启代码格式化则需在 `Settings` 中配置 `Code Style` 规则,并通过创建 Git 钩子实现提交前自动格式化。
236 3
|
1月前
|
开发工具 git
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
39 1
|
2月前
|
Shell 网络安全 开发工具
git与gitee结合使用,提交代码,文件到远程仓库
本文介绍了如何将Git与Gitee结合使用来提交代码文件到远程仓库。内容涵盖了Git的安装和环境变量配置、SSH公钥的生成和配置、在Gitee上创建仓库、设置Git的全局用户信息、初始化本地仓库、添加远程仓库地址、提交文件和推送到远程仓库的步骤。此外,还提供了如何克隆远程仓库到本地的命令。
git与gitee结合使用,提交代码,文件到远程仓库
|
1月前
|
JavaScript 前端开发 开发工具
一身反骨的我,用--no-verify绕开了git代码提交限制!
【10月更文挑战第7天】一身反骨的我,用--no-verify绕开了git代码提交限制!
104 0
|
3月前
|
缓存 开发工具 git
给Git仓库添加.gitignore:清理、删除、排除被Git误添加的临时文件
本文介绍了如何为Git仓库添加`.gitignore`文件来排除不需要跟踪的临时文件,并展示了如何删除已经被提交的临时文件缓存,以清理Git仓库中的不必要文件。
279 0
给Git仓库添加.gitignore:清理、删除、排除被Git误添加的临时文件