Git分支

我们的项目很大,有很多人共同开发这个项目,比如张三负责首页,李四负责购物车,翠花负责整体协调,那么可以把当前git分为3个分支。

  • master 主分支,翠花负责

  • index 首页分支,张三负责

  • buycar 购物车分支,李四负责

branch创建和切换

假设我是张三,我拿到项目后,需要创建index分支,然后切换到index分支,我的工作都在这里做

 git checkout -b index

创建分支时,会把当前分支下的内容,都带入到新分支下。

git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:

 git branch index  # 创建index分支
 git checkout index # 切换到index分支

用git branch命令查看当前分支

 git branch

git branch命令会列出所有分支,当前分支前面会标一个*号。

进入到index分支后,张三在根目录创建一个index文件夹,里面创建index.html和index.js文件,里面正常的写些内容。

然后,张三在命令行上,对刚才的index相关的文件进行提交。

 git add index                               # 把index目录添加到暂存区
 git commit -m "张三的index分支第一次提交日志"   # 把暂存区中所有文件提交到代码库

index分支的工作完成,我们就可以切换回master分支。

 git checkout master

命令行切换到不同的分支时,我们的文件也会有对应的变化。

merge分支合并

现在,翠花把index分支的工作成果合并到master分支上:

 git merge index

git merge命令用于合并指定分支到当前分支。

注意到上面的Fast-forward信息,Git告诉我们,这次合并是“快进模式”,也就是直接把master指向index的当前提交,所以合并速度非常快。

有时合并时会出现提示

Please enter a commit message to explain why this merge is necessary.

请输入提交消息来解释为什么这种合并是必要的

git 在pull或者合并分支的时候有时会遇到这个界面。可以不管(直接下面3,4步),如果要输入解释的话就需要:

 1.按键盘字母 i 进入insert模式
 ​
 2.修改最上面那行黄色合并信息,可以不修改
 ​
 3.按键盘左上角"Esc"
 ​
 4.输入":wq",注意是冒号+wq,按回车键即可

删除分支

合并完成后,就可以放心地删除index分支了:

 git branch -d index

删除后,查看branch,就只剩下master分支了

 git branch

小结

命令示例作用
branchgit branch -v查看本地分支
branchgit branch dev创建 dev 分支
checkoutgit checkout dev切换到 dev 分支
checkoutgit checkout -b dev创建 dev 分支,并切换到 dev 分支
mergegit merge dev合并某分支到当前分支
branchgit branch -d dev删除 dev 分支

解决冲突

创建 buycar 分支

 git checkout -b buycar

修改 index/index.html 的内容

在 buycar 分支中,提交 index/index.html

 git add index/index.html
 git commit -m 'buycar-index'

切换到 master 分支

 git checkout master

修改 index/index.html 的内容

在 master 分支中,提交 index/index.html

 git add index/index.html
 git commit -m 'master-index'

现在,master 分支和 buycar 分支,分别有新的提交。

 git checkout buycar # 看看index.html的内容
 git checkout index  # 看看index.html的内容

这种情况下,Git无法执行快速合并。

 git merge buycar # 将 buycar 合并到 master 分支中

命令行提示冲突了,告诉我们需要手动解决冲突,然后提交。

也可以使用 status 查看哪些文件有冲突。

 git status

也可以直接查看 index/index.html 的内容

 <body>
     123

需要我们手动对 index/index.html 文件进行更改后,重新提交

 git add index/index.html
 git commit -m '手动更新'

最后,删除 buycar 分支

 git branch -d buycar

工作完成

git 当然还有其他一些功能,如果感兴趣可以去官网自行查阅。

拓展: (远程分支相关)

查看一下远程项目的分支

 git branch –r

git 克隆远程分支到本地

方法1: 先克隆主分支 在 创建本地分支 同步远程分支 (麻烦)

 1. git clone http://XXX.XXX/sq-group/XXX.git   (默认克隆主分支)
 2. git checkout –b 本地分支名 远程分支名           建立本地分支
    eg: git  checkout -b dev origin/dev   (创建一个dev分支  同步远程dev分支)

方法2: 直接 克隆远程分支到本地

 git clone -b <branch name> [remote repository address]
 eg:  git clone -b dev git@github.com:a123123/Test.git

删除远程分支:

 git push origin --delete <branchName>             // --delete 可以简写为-d

重命名本地分支:

 git branch -m oldName newName                

  • 19
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值