如何解决进行git合并造成的冲突
场景:
在我们在参与项目开发的时候,通常会创建公共的文件,但是当我们编码完成,使用git进行分支合并时,往往会出现合并冲突,也就是负责不同部分的开发人员会对同一个文件的同一个部分进行修改,这个时候就需要我们解决合并造成的冲突。
本文主要内容:
- 回顾git的常用命令
- 解决合并造成的冲突
1.git的常用命令
1.1 git的基本操作和命名
(1)在需要git管理的文件夹中点击鼠标右键 ==》选择git bash here
(2)ctr +/- 可以设置窗口文字的大小
(3)git init 初始化git仓库
(4)设置个人信息,方便溯源(只有第一次安装之后才需要设置)
git config --global user .email"you@example.com"git config --global user .name"Your name"
(5)git :工作目录,暂存区,本地仓库
(6)将“工作目录”中的文件存放在“暂存区”
git add 文件名 /* 或者 /.* 和 . 代表的是工作目录下的所有文件
(7)将“暂存区”里的文件提交到本地仓库,形成提交的记录
git commit-m '自定义提交信息/定制化提交信息'
(8)查看当前详细的提交信息
git log
(9)查看当前操作信息–主要可以查看对应版本的ID号
git reflog
(10)回到指定的版本
git reset --hard 版本号
(11)获取当前状态
不会对文件造成影响 当你不知道到那一步,可以使用该指令查看当前的git状态
git status
(12)删除工作区文件,并且将这次删除放入暂存区
git rm
1.2 单人版本管理:常用操作
1. git init 初始化2. git add . /git add * 提交暂存区3. git commit -m '提交信息' 提交本地仓库(形成提交记录,后续可以回档)4. git status 查看文件状态5. git reflog 查看操作信息6. git reset --hard 版本号 回到指定的版本
1.3 分支相关
多人维护同一个项目必须要熟练使用 一般会基于master主分支
再去新建一个develop分支-开发分支
再基于develop分支,再去创建各个功能模块的分支feature-X
(1)创建分支
git branch 分支名
(2)切换到分支名
git checkout 分支名
(3)查看本地和远程所有分支
git branchgit branch -a
(4) 合并分支
先切换目标分支(也就是想要合并到哪个分支),指定需要合并的分支名
git merge 分支名
1.4 远程仓库
(1)新建仓库
(2)将本地仓库代码 推动到远程仓库
1.5 本地仓库和远程仓库之间的操作
(1)本地分支推送到远程分支
git push -u origin "本地分支名"
(2)远程分支拉取到本地
git pull
(3)克隆远程仓库的内容
git clone HTTPS/SSH
2.提交自己开发部分的代码
2.1 基本命令
git branch 分支名git checkout 目标分支git add . git commit -m '提交信息'git push -u origin 分支名
2.2 造成冲突的情况
合并冲突时会出现 分支名|merging
2.3 解决方案
(1)在远程仓库里合并的时候解决
1.先将自己的分支(例如feature-XXX)中修改的内容放到本地仓库git add .git commit -m '提交信息'2.把本地仓库的内容push到远程仓库git push -u origin '远程仓库地址'3.在远程仓库进行合并操作,提出合并申请4.一般由项目经理进行合并处理5.出现冲突在远程仓库进行操作(如下面第二种方式,选择接受两者进行合并)
(2)先将远程仓库中的对应分支代码pull下来,然后再本地进行代码合并merge
1.先将自己的分支(例如feature-XXX)中修改的内容放到本地仓库git add .git commit -m '提交信息'2.再将远程分支的development同步到本地仓库,切换到development分支,再执行pullgit checkout developmentgit pull3.在本地合并development和feature-XXX,在development中merge feature-XXXgit merge feature-XXX4.再将本地development push到远程仓库git push 远程仓库地址(HTTPS/SSH)
3.一张图让你看懂git命令使用流程
在查看资料的过程中,发现一个作者(小红书:乌龟乌龟慢慢爬)上传的图片,十分清晰明了,生动形象,转载过来分享给大家!