git开发日常使用总结
git分支开发
线上有三个分支:master、java、php分支。如下图

其中master分支:空白

php分支:空白

Java分支:

1 需求一:
拉取php分支代码到本地,创建a.txt文件,b.txt文件并提交到远端;
1.1 复制url

1.2 打开终端进行克隆
其实这里直接克隆就可以,不用切换分支,默认会把所有的分支克隆下来,然后在本地仓库直接切换分支就好了。

1.3 查看远端分支文件

1.4 创建a.txt与b.txt文件

1.5 推送到远端

修改配置文件:
回车进行编辑:

按Esc退出编辑,按:wq! 退出。
然后进行查看状态,并提交:

1.6 查看远端分支

2 需求二:
假设a.txt 是一个项目,b.txt 是另外一个项目。现在你在做第一个项目a.txt,做了一半了,忽然,另外一个项目b.txt的bug需要你修改,任务比较紧急,此时你需要先暂停a.txt 的开发,去开发b项目,处理这个bug需要修改a.txt文件,编辑b.txt以及添加b1.txt文件。
思路:在本地php的分支上面在创建两个分支,一个开发a项目,一个开发b项目,最后在合并merge到php这个分支上,进行提交推送。
2.1 创建a分支,与b分支分别开发两个项目或功能模块

2.2 切换分支到a,编辑a.txt文件

2.3 编辑a.txt文件并退出

查看:

此时需要及时处理b项目的bug,编辑b.txt,修改a.txt文件以及添加b1.txt文件
2.4 提交a.txt 保存到本地仓库

2.5 切换b分支,开发b项目

查看a.txt是内容,看看能不能看到a分支上提交刚刚提交的代码?

答案是:并看不到刚刚在a分支上面对a.txt文件的编辑的内容。
2.6 编辑b.txt,新增b1.txt文件,然后在对a.txt进行修改



2.7 提交b分支

2.8 合并(merge)到php分支
注意这里merge前需要先pull

Merge合并操作:其实都是先合并到本地分支,再推送到远端相应的分支。
2.9 查看php分支代码

此时,bug修改完了,可以先提交代码到远端了:

查看远端分支情况:

2.10 现在可以在回去继续开发a项目,切换分支到a进行继续开发编辑

2.11 编辑a.txt文件,然后提交


2.12 Merge到php本地分支

2.12.1 解决冲突
假设你之前没有解决过冲突;
思路:根据提示,走着看看着走:

根据给出的提示:
执行 git merge –abort :回到合并前的状态;
既然说a.txt 文件冲突,那就查看a.txt文件,进行手动解决冲突:

2.12.2 编辑a.txt文件进行冲突解决

查看远端代码:

2.12.3 查看状态,还是处于冲突中,但是已经将冲突解决了,所以可以直接提交了并推送到远端了。

2.13 推送到远端php分支

2.14 pull并查看a.txt文件,验证冲突是否解决

2.15 此时查看本地a分支,与b分支的代码情况:


发现a分支,与b分支还是之前的代码,并没有更新;
要想实现分支与php代码一直,需要merge:
2.16 同步a,b分支与php分支的代码
同步php本地仓库到本地a分支代码仓库:

3 合并到远端master分支
3.1 先查看远端maste分支下代码情况

还是空空如也。
3.2 创建本地master分支仓库

3.3 将远端的remotes/origin/php 分支 合并到master分支

3.4 推送到远端master分支

查看远端分支:

终端查看:已经合并上去了。

4 Git命令解析:
4.1 克隆
git clone [–b 远端分支名] https://github.com/vhviqd/java26.git
其中[]表示可选,如果不写,默认是master分支。
4.2 创建远端分支
git push origin 本地分支名

若想创建一个远端分支名与本地分支名不一样的。
git push origin 本地分支名:远端分支名

4.3 删除远端分支
git push origin :远端分支名

4.4 查看版本记录
git reflog

4.5 切换版本
git reset --hard 版本号


利用版本切换可以使代码回退到之前的版本。只是本地分支对应的仓库的版本回退,并不涉及远端,只有push推送了,才会更新也断代码。
4.6 拉取代码
git pull :更新本地代码,使得与远端代码保持一致
4.7 推送代码
git push :把本地代码推送到远端分支。

浙公网安备 33010602011771号