Git基础(二)

创建与合并分支

版本回退里已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支。
首先,我们来创建dev分支,然后切换到dev分支上。如下操作:

git checkout 命令加上 –b参数表示创建并切换,相当于如下2条命令:
git branch dev
git checkout dev

这里写图片描述
可以看到由master分支切换到了dev分支!
查看分支

git branch    //会列出所有的分支,当前分支前面会添加一个星号。

这里写图片描述
现在在test.txt增加内容:5555555555
这里写图片描述
现在dev分支工作已完成,现在我们切换到主分支master上,继续查看test.txt内容如下:
这里写图片描述
现在我们可以把dev分支上的内容合并到分支master上了,可以在master分支上,使用如下命令:

 git merge dev     //git merge命令用于合并指定分支到当前分支上

这里写图片描述
可以看到,和dev分支最新提交的是完全一样的!
注意到上面的Fast-forward信息,Git告诉我们,这次合并是“快进模式”,也就是直接把master指向dev的当前提交,所以合并速度非常快。
合并完成后,我们可以接着删除dev分支了,操作如下:
这里写图片描述
总结创建与合并分支命令如下:

查看分支:git branch
创建分支:git branch name
切换分支:git checkout name
创建+切换分支:git checkout –b name
合并某分支到当前分支:git merge name
删除分支:git branch –d name

如何解决冲突?

先新建一个新分支,比如名字叫one,在test.txt增加内容:6666666666
这里写图片描述
同样,我们现在切换到master分支上来,也在最后一行添加内容,内容为7777777777,如下所示:
这里写图片描述
现在我们需要在master分支上来合并one,如下操作:
这里写图片描述
这里写图片描述
Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,>>>>>>> one 是指one 上修改的内容,我们可以修改下如下后保存
这里写图片描述

分支管理策略

通常合并分支时,git一般使用”Fast forward”模式,在这种模式下,删除分支后,会丢掉分支信息,现在我们来使用带参数 –no-ff来禁用”Fast forward”模式。

创建一个dev分支。
修改readme.txt内容。
添加到暂存区。
切换回主分支(master)。
合并dev分支,使用命令 git merge –no-ff  -m “注释” dev
查看历史记录

这里写图片描述
这里写图片描述
分支策略: master主分支应该是非常稳定的,也就是用来发布新版本,一般情况下不允许在上面干活,干活一般情况下在新建的dev分支上干活,干完后,比如上要发布,或者说dev分支代码稳定后可以合并到主分支master上来。

bug分支

在开发中,会经常碰到bug问题,那么有了bug就需要修复,在Git中,分支是很强大的,每个bug都可以通过一个临时分支来修复,修复完成后,合并分支,然后将临时的分支删除掉。

推送分支

推送分支就是把该分支上所有本地提交到远程库中,推送时,要指定本地分支,这样,Git就会把该分支推送到远程库对应的远程分支上:

git push origin master

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
可以看到 推送成功了,如果我们现在要推送到其他分支,比如dev分支上,我们还是那个命令 git push origin dev
那么一般情况下,那些分支要推送呢?
master分支是主分支,因此要时刻与远程同步。
一些修复bug分支不需要推送到远程去,可以先合并到主分支上,然后把主分支master推送到远程去。
使用 git 命令 提交代码的顺序

1.git add                 //把代码添加到暂存区
2.git commit -m "提交代码到本地库.git库"   
3.git pull  (出现代码冲突,解决代码冲突后,再次git add --> git commit -m "添加修改代码的内容"  -->git pull -->git push  远程分支名 )
4.git push      提交到远程
5.git checkout  要检出分支名称     //从远程到检出到代码到本地

Git基本常用命令如下:

mkdir:         XX (创建一个空目录 XX指目录名)

pwd:          显示当前目录的路径。

git init          把当前的目录变成可以管理的git仓库,生成隐藏.git文件。

git add XX       把xx文件添加到暂存区去。

git commit –m “XX”  提交文件 –m 后面的是注释。

git status        查看仓库状态

git diff  XX      查看XX文件修改了那些内容

git log          查看历史记录

git reset  –hard HEAD^ 或者 git reset  –hard HEAD~ 回退到上一个版本

(如果想回退到100个版本,使用git reset –hard HEAD~100 )

cat XX         查看XX文件内容

git reflog       查看历史记录的版本号id

git checkout — XX  把XX文件在工作区的修改全部撤销。

git rm XX          删除XX文件

git remote add originhttps://github.com/tugenhua0707/testgit关联一个远程库

git push –u(第一次要用-u 以后不需要) origin master 把当前master分支推送到远程库

git clone https://github.com/tugenhua0707/testgit从远程库中克隆

git checkout –b dev  创建dev分支 并切换到dev分支上

git branch  查看当前所有的分支

git checkout master 切换回master分支

git merge dev    在当前的分支上合并dev分支

git branch –d dev 删除dev分支

git branch name  创建分支

git remote 查看远程库的信息

git remote –v 查看远程库的详细信息

git push origin master  Git会把master分支推送到远程库对应的远程分支上

来源:https://www.jianshu.com/p/c372aaaf5b05
以上只是学习所做的笔记,以供日后参考!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值