实际操作学习git(2)

1.概念

在进行多个并行作业时,我们会用到分支。在这类并行开发的过程 中,往往同时存在多个最新代码状态从master分支创 建 feature-A分支和fix-B分支后,每个分支中都拥有自己的最新代码。 master分支是Git默认创建的分支,因此基本上所有开发都是以这个分 支为中心进行的。
从 master 分支创建 feature-A 分支和 fix-B 分支master,fix-Bfeature -A

不同分支中,可以同时进行完全不同的作业。等该分支的作业完成 之后再与 master分支合并比如 feature-A分支的作业结束后与 master 合并, 通过灵活运用分支,可以让多人同时高效地进行并行开发。

2.实际操作

2.1创建分支与切换分支

可以看到master分支左侧标有“*”(星号),表示这是我们当前所在的分支。也就是说,我们正在 master分支下进行开发。

git branch  #浏览分支

合起来写

git checkout -b feature-A #创建,并把分支切换到feature-A 

分开写

git branch feature-A #创建feature-A 
git checkout feature-A  #把分支切换到feature-A 

feature-A分支左侧标有“*”,表示当前分支为 feature-A。在这个状 态下像正常开发那样修改代码、执行 git add命令并进行提交的话, 代码就会提交至feature-A分支。像这样不断对一个分支(例如 feature-A)进行提交的操作,我们称为“培育分支”。

试着在feature-A下进行写入文件操作;然后分别在master分支与feature分支下进行查看

开发中创建分支的优点:只要创建多个分支,就可以在不互相影响的情况下同时进行多个功能的开发。

切换回上一个分支

 git checkout  -

2.2特性分支与稳定分支

如master是稳定分支;feature-A与feature-B是特性分支

特性分支顾名思义,是集中实现单一特性(主题),除此之外不进 行任何作业的分支。在日常开发中,往往会创建数个特性分支,同时在 此之外再保留一个随时可以发布软件的稳定分支。稳定分支的角色通常 由 master 分支担当

之前我们创建了feature-A分支,这一分支主要实现feature-A,除 feature-A的实现之外不进行任何作业。即便在开发过程中发现了 BUG, 也需要再创建新的分支,在新分支中进行修正。

个人理解:
master分支的几个好处:
1.保存了最稳定的版本供人观看
2.在开发过程中,保存了最正确的版本,以免备份

有时我们需要让这个主干分支总是配置在正式环境中,有时又需要 用标签Tag 等创建版本信息,同时管理多个版本发布。拥有多个版本发 布时,主干分支也有多个

2.3合并分支

先切换到master分支

 	git checkout master

再执行

 	git merge --no-ff feature-A(合并分支名称:feature-A)     #合并

若此时需要再提交b分支

 git merge --no-ff fix-B 

此时会出现发生冲突的问题,不解决冲突就无法完成合并。务必要仔细分析冲突部分的内容后再行修改
解决方式:用编辑器打开 README.md文件。我们在编辑器中将其改成想要的样子

然后用git add和git commit进行提交

2.4以图表形式查看分支

git log --graph

2.5提交分支

git push --set-upstream origin feature-A        #先切换到master分支

2.6回溯历史版本

只要提供目标时间点的哈希值 A,就可以完全恢复至该时间点的状态。

查看哈希值使用
 git reflog   #查看当前仓库的操作日志。在日志中找出 回溯历史之前的哈希值

 git reset --hard   +哈希值    回到哈希值对应位置

2.7压缩历史

git rebase -i——压缩历史

2.8添加远程仓库

git remote add origin +远程仓库的地址

2.9推送至远程仓库

 git push -u origin master 

当前分支的内容就会被推送给远程仓库 origin的master分支。-u参数可以在推送的同时,将 origin仓库的 master分 支设置为本地仓库当前分支的upstream(上游)。添加了这个参数,将来 运行 git pull命令从远程仓库获取内容时,本地仓库的这个分支就可 以直接从 origin 的 master 分支获取内容,省去了另外添加参数的麻烦。

 git push -u origin feature-D #推送分支到远程仓库

2.10获取远程仓库

git clone +地址

执行 git clone命令后我们会默认处于 master 分支下,同时系统 会自动将origin设置成该远程仓库的标识符。也就是说,当前本地仓库 的 master分支与 GitHub端远程仓库(origin)的 master分支在内容上是 完全相同的。

进入到文件夹内 cd +地址(git@github.com:********/test.git)这里面的地址是test
我们用 git branch -a命令查看当前分支的相关信息。添加 -a 参数可以同时显示本地仓库和远程仓库的分支信息。

2.11获取其他分支

其他分支
git checkout -b feature-D origin/feature-D 

-b参数的后面是本地仓库中新建分支的名称。为了便于理解,我 们仍将其命名为 feature-D,让它与远程仓库的对应分支保持同名。新建 分支名称后面是获取来源的分支名称。例子中指定了origin/feature-D, 就是说以名为 origin的仓库(这里指 GitHub端的仓库)的 feature-D分 支为来源,在本地仓库中创建 feature-D 分支。

git pull             #获取最新的远程仓库分支

2.12深入了解git的知识

最后再说,见pdf文档

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值