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

目录
相关文章
|
1月前
|
开发工具 git C++
【git 实用指南】git下载、拉取 代码
【git 实用指南】git下载、拉取 代码
137 2
|
2月前
|
存储 前端开发 开发工具
Git Hooks实战:提交前检查修改文件中是否包含调试代码
Git Hooks实战:提交前检查修改文件中是否包含调试代码
47 0
|
2月前
|
Linux 网络安全 开发工具
Git拉取代码的完整示例操作
Git拉取代码的完整示例操作
63 0
|
2月前
|
数据可视化 项目管理 开发工具
使用SourceTree可视化更新git代码
使用SourceTree可视化更新git代码
|
1月前
|
开发工具 git
【git 实用指南】git 上传代码
【git 实用指南】git 上传代码
32 2
|
2月前
|
人工智能 运维 Linux
一文了解IntelliJ IDEA如何使用git上传代码到GitHub(附常见问题解决方案)
一文了解IntelliJ IDEA如何使用git上传代码到GitHub(附常见问题解决方案)
82 0
|
1月前
|
开发工具 git
Git -- 代码上传错误 error: failed to push some refs to ‘git@gitee.com:JMFive/uni-shop2.git‘
Git -- 代码上传错误 error: failed to push some refs to ‘git@gitee.com:JMFive/uni-shop2.git‘
|
4天前
|
数据可视化 开发工具 git
Git代码版本管理入门
Git代码版本管理入门
14 0
|
22天前
|
开发工具 C语言 数据安全/隐私保护
git提交代码到远端仓库的方法详解
git提交代码到远端仓库的方法详解
|
24天前
|
算法 开发工具 git
【git 实用指南】git 增加 本地代码 git add 相关命令和复杂情况需求
【git 实用指南】git 增加 本地代码 git add 相关命令和复杂情况需求
90 0