Git基础知识(二)

前言

本篇是 Git基础知识(一)的延续,由于篇幅原因,分成两篇。

我们重新建立一个文件夹,执行git init。

添加一个有三行aaaaa内容的git.txt文件,并commit。

这里写图片描述


分支

截止目前,我们都是在一个叫做master的分支上工作。Git允许我们创建分支去做一些其他的事儿,而不影响到你的master分支。

这里写图片描述

1. branch

branch命令可以查看分支、创建分支以及删除分支。

a. 查看分支

git branch

这里写图片描述

可以看到我们当前只有一个分支master,也叫主分支,*号代表当前所在的分支,这里就是matser分支。

b. 创建新的分支

git branch branch_1
git branch // 查看分支

这里写图片描述

可以看到现在除了master分支,还多了一个branch_1分支,并且这个分支完全继承了master,相当于一个copy。当前所在分支还是master。

c. 切换到branch_1

git checkout branch_1 // 使用checkout命令
git branch // 查看分支

这里写图片描述

当前所在分支已经切换到branch_1,接下来我们就可以在这个分支做一些开发工作了。

2. merge

Fast-forward合并

a. 我们在branch_1分支修改git.txt,添加一行bbbbb
这里写图片描述
添加并commit

git add git.txt
git commit -m "add bbbbb"

b. 返回master分支,合并branch_1

git checkout master
git merge branch_1 // 合并分支

这里写图片描述

此时,master分支就成功合并了branch_1分支,查看一下log,分支的commit也同样被合并进了master。

c. 这个分支的使命已经完成,删除分支

git branch -d branch_1

这里写图片描述

这种合并是无冲突的合并,称为Fast-forward。然而事情并没总那么好,下一个小节就来看下发生冲突的情况。

Conflict合并

a. 新建一个分支branch_1,切换到该分支,编辑git.txt
这里写图片描述

b. add、commit

c. 返回主分支

d. 很不幸,主分支也编辑了同一个地方。
这里写图片描述

e. add、commit

f. 尝试合并branch_1

git merge branch_1

这里写图片描述
提示有Conflict。

g. 此时文件变成酱紫了:
这里写图片描述

h. 手工修复,选择保留的内容,假设我要保留主分支编辑的内容,就删除掉其他分支编辑的内容,必须把<<<< ==== >>>>这几行也删掉,再提交就可以了。
这里写图片描述

小结
  1. 认识分支模型
  2. 几个基本命令
    这里写图片描述

团队协作

目前为止,我们是个人使用git进行版本控制,然而git更牛逼的地方在于团队协作。

clone

clone命令可以克隆别人的仓库到自己的电脑本地,克隆地址可以是Url地址,也可以是本地的地址。

git clone remote_location clone_name`

我们将上诉进行版本控制的工程,即桌面上的新建文件夹,克隆一份同样到桌面,名称为clonedPrj被克隆的仓库成为远程仓库,有一个专属名称为:origin
这里写图片描述

这样我们的桌面上便会出现一个和远程仓库一模一样的clonedPrj文件夹

fetch

fetch命令可以将远程的仓库拉取到一个叫做origin/master的分支,这个分支是无法通过git branch命令看到的,然而却是存在的。然后你可以将这个分支合并到你的主分支,这样就与远程仓库保持一致了。

a. 在原本的工程添加一个git1.txt,add,commit。

b. 在克隆的工程敲如下命令:

git fetch

这里写图片描述

c. 合并origin/master分支

git merge origin/master

这里写图片描述

这样便能与远程仓库保持一致了

push

既然你已经通过clone或者fetch和merge,使你的仓库与远程仓库一致,那就意味着你准备好协作开发了。

a. 首先新建一个branch_1分支,切换到该分支。

b. 编辑git1.txt文件
这里写图片描述

c. add commit

d. 将你的分支push给远程仓库git push origin your_branch_name

git push origin branch_1

这里写图片描述

这样就将当前分支push给了远程仓库,它那边会出现一个被push的分支,至于合不合并,那就是远程仓库的事了。
这里写图片描述

协作一般流程
  1. 第一次克隆或者进行fetch、merge操作,保持与远程同步
  2. 必须创建一个新的分支
  3. 开发
  4. fetch、merge操作,再次与远程同步
  5. 将分支push给远程
小结
  1. 认识远程仓库
  2. 几个基本命令
    这里写图片描述
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值