Git知识文章
如何利用GitBash上传本地资源到Gitee\LAB\GItHUB\华为云等(一)
GitBash创建分支(二)
IDEA如何使用git管理gitee仓库?(四)
前提
本篇文章介绍,如何利用gitBash命令行方法创建分支并合并分支,进而达到多人协作开发的目的。
实验环境:
> 电脑已经有了git项目或者从gitee/github仓库克隆了对应的项目。
实验介绍:
> A、B两人员都拥有相同的git项目。项目里面有hello.txt;如下图所示。这时候需要A在他的git项目的hello.text添加一句“A说你好呀!”。同时B也在他的git项目的hello.text添加以“B说你好呀!”。
> A的hello.text内容:“你好呀!A说你好呀”
> B的hello.text内容:“你好呀!B说你好呀”
> 而我们需要看到的是git的hello.text内容要有:“你好呀!A说你好呀!B说你好呀”
> 该如何实现两个人不同的电脑编写同一个文件?请看下面文章!
环境准备:
A、B两人员都拥有相同的git项目
首先我们要明白,从git仓库中克隆下来的项目到本地仓库,意味着git仓库(远程仓库)就已经和本地仓库进行关联了。远程仓库有master主支,本地仓库也有对应的master主支。本地仓库创建新的分支,远程仓库也要有对应的分支!
一、创建本地分支
默认有一个主分支master
去对应的git项目,右键Git Bash Here
git branch a #PCA创建自己的分支a
git branch b #PCA创建自己的分支b
二、切换到本地分支:
三、编写代码
注意要先切换分支再进行编写!
A在其hello.text后面添加“A说你好呀!”
B在其hello.text后面添加“B说你好呀!”
四、上传到远程仓库对应的分支
git add . #提交文件到缓存中
git commit -m '提交的备注信息' #提交备注信息
git push originA a #上传文件,originA 是A项目远程仓库别名,如果没有配,那就用远程仓库的URL
#PCB 第三条命令改为 git push originB b
五、合并分支
1、首先切换到master分支上
git checkout master
2、如果是多人开发的话 需要把远程master上的代码pull下来,这个很重要! (确保自己是最新的master)
git pull originA master #A的gitBash操作
git pull originB master #B的gitBash操作
如果是自己一个开发就没有必要了,为了保险期间还是pull
3、然后我们把分支的代码合并到本地master主支上
git merge a
git merge b
这时候B在pull完成后,想要merge b时候发现merge失败。因为该实验A,B是同时clone仓库的,而A比B更快提交修改hello.text内容,打开hello.text发现,多了一些东西,A修改的内容,以及一些冲突符,如下图
然后回到步骤二,切换到本地分支;删除对应内容,就可以merge了
这种冲突首先先分析你们俩个的代码是实现相同功能而写的重复的代码还是各自实现的不同的功能的代码。如果是重复代码:两个二选一删除一个,然后再把这些冲突标示符删除即可;
如果不是重复代码,两个都需要保留,只把冲突符号(红色部分)删除即可。
4、然后查看状态及执行提交命令
git status
On branch master
Your branch is ahead of ‘origin/master’ by 1 commit.
(use “git push” to publish your local commits)
上面的意思就是你有1个commit,需要push到远程master上
六、更新本地仓库内容到远程仓库
git add . #提交文件到缓存中
git commit -m '提交的备注信息' #提交备注信息
git push originA master #上传文件,originA 是A项目远程仓库别名,如果没有配,那就用远程仓库的URL
#PCB 第三条命令改为 git push originB master
效果:
其他知识点
查看所有分支
git branch -a
删除远程分支Chapater6
git push origin --delete Chapater6
删除本地分支 Chapater6
git branch -d Chapater6