Java工具篇-Git_02 Git基本操作

目录

Git基本工作流程

本地仓库(Repository)

Git常用命令

操作步骤

TortoiseGit图形化操作

历史版本切换

分支管理介绍

分支管理操作


Git基本工作流程

本地仓库(Repository)

        Git分为工作目录、暂存区、本地历史仓库这几个区域

工作目录:工作目录是代码的存放位置。由于写代码是经常需要新增和修改的,所以工作目录的代码是经常发生变动的,所以就需要对其进行版本控制,那如何控制呢,就引入了专门的区域进行控制——本地历史仓库。

本地历史仓库:存放不同版本的代码。例如,存放了项目10%的代码,还存放了20%的代码,那么此时这里就存放了两个版本的代码。这个代码是直接存放到本地历史仓库吗?并不是,还需要一个暂存区。

暂存区:这是代码提交到仓库之前的临时存储空间。工作目录中的代码必须先添加到暂存区,由暂存区提交到本地历史仓库中。添加和提交操作都是通过git命令实现

Git常用命令

命令作用
git init      初始化,创建git库
git status查看git状态(文件是否进行了添加、提交操作)
git add添加,将指定文件添加到暂存区
git commit提交,将暂存区代码提交到历史仓库
git log查看日志(git提交的历史日志)

操作步骤

        1.创建工作目录、初始化本地git仓库

新建一个文件夹; 

打开文件夹,鼠标右键选择git hash here;

输入命令git init ,初始化完成

 点击查看,勾选隐藏的项目,这时我们就可以看到.git的文件夹,说明当前文件夹已经是一个本地仓库了。


2.新建一个test.txt文件(暂不执行添加操作)

3.使用Status命令,查看状态

 创建一个test.txt文件,命令窗口输入git status,查看状态,发现出现红色这样的情况,说明这个test.txt未执行添加操作


4.使用添加命令添加,并查看状态

这时test文件就出现了+符号,需要了解的是,第一次安装不会出现,需要重启才会显示。

这样就添加完毕了,之后在查看它看看什么样,发现这回没有红色提示了
5.使用提交命令,提交到本地历史仓库

需要加上-m,‘  ’内放提交的信息

提交后文件出现了绿色的对勾,说明已经提交到本地仓库了。

6.使用日志命令,查看日志

commit后面的6815cf……是这个文件的唯一索引标识
7.修改test.txt文件

随便编辑一下文档的内容,保存,发现文件变成了红色的感叹号


8.添加并提交,查看日志

再次添加提交,看看是否多了新的日志

 这次发现日志中有两条黄色字体的标识信息

TortoiseGit图形化操作

创建仓库文件夹

 鼠标右键,找到“Git在这里创建版本库”

之后弹出这样的弹窗,这里不建议勾选制作纯版本库,点确定

 

 之后就弹出创建成功的页面,点击进入发现.git文件即创建成功。

 创建个测试的文件,右键,找到TortoiseGit,选择添加。

 弹出添加成功,文件也出现了加号

 添加完成后,右键有个提交

 输入提交信息,点击提交

进度条结束,提交成功,关闭即可

这样就表明成功提交

 给它随意编辑一下,变成这样

 这次右键直接选择提交就可以,不用再添加。输入提交信息,提交。

 接下来查看这两次的提交日志,选择右键,TortoiseGit,显示日志

这里可以选择查看提交的版本,以及唯一标识

历史版本切换

        当我们遇到这种情况,我们在一周前开发的程序,当时只有一个bug,然而,经过这一周不懈努力,我们的bug增加到了10个!而这种情况很常见滴,明显我们更愿意面对一周前的版本,那我们就需要回退到一周前的版本。

        这里再介绍一个命令git reflog,它可以查看所有分支的所有操作记录(包括已经被删除的commit记录的操作),并且它的唯一标识更简短

那如何切换到历史版本呢?这里用到一个命令,git reset --hard 加上版本的唯一索引值)就切换成功了。

$ git reflog    //查看历史版本
361e86e (HEAD -> master) HEAD@{0}: commit: commit second file
6815cf2 HEAD@{1}: commit (initial): commit first file    //假如我们想切换到这个版本

Administrator@DESKTOP-SG1RG4O MINGW64 /d/Documents/Documents/Repository/my_project (master)
$ git reset --hard 6815cf2    //切换历史版本 后面6815cf2为版本标识符
HEAD is now at 6815cf2 commit first file    //这里提示切换成功

 当然,我们也可以再回到比较新的版本,只要是日志上有的,都可以切换。

分支管理介绍

        什么是分支呢?那个例子来说,比如你需要去甲地区拉矿石,还需要去乙地拉石油,你原本只有一辆车,但后来你又顾了一车,然后两辆车可以分开同时去拉货,可能有的快,有的慢,但是最后都拉回来了,最后的结果是你获得了矿石和石油。

总结有这样的规律,多条时间线并行工作,互不打扰,多条时间线可以合并

分支:由每次提交的代码串成一条时间线

分支应用场景

        1.周期较长的模块开发
        假设你准备开发一个新功能,但是需要一个月才能完成。第一周写了20%的代码,突然发现原来已经写好的功能出现了一个严重的Bug,那现在就需要放下手中的新功能,去修复Bug。但这20%的代码不能舍弃,并且也担心丢失,这就需要开启一个新的版本控制。
        2.尝试性的模块开发
        业务人员给我们提出了一个需求,经过我们的思考和分析该需求应该可以使用技术手段进行实现。但是我们还不敢确定,我们就可以去创建一个分支基于分支进行尝试性开发。

        使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。

分支工作流程

        分支是由每次提交的代码串成一条时间线。每次产生新的一个版本,由Master控制,这些版本串成一条线,也就是时间线,而Master指向的是最新的一个版本,当前的时间线就是主线。当我们需要尝试得开发一个项目,假如项目名字叫Dev,Head指向的是当前所使用的分支,这个分支不会影响主线的开发。

         那如何合并呢?开发完后我们将Master指向开发完的Dev,这时这个版本就在主线上了,这时,再使Head指向Master,分支也就合并了

        对于合并后旧的分支,也没有存在的必要,可以给删掉。

 

 总结下来工作流程就是创建新分支、切换分支、合并分支、删除分支

分支管理操作

创建分支git branch + 分支名

        通过git branch ……这个命令创建一个名为fenzhi1的分支;界面显示的蓝色字体master就是当前的处于的分支,也可以通过git status命令查看当前处于的分支;那如何查看有哪些分支呢,直接git branch命令,不要加名称,就显示出来已创建的分支。 

切换分支git checkout + 分支名   

        创建了分支后,如何切换到分支呢?输入git checkout + 分支名就切换了

        现在处于新建的分支fenzhi1,那么在这个分支下操作文件,主线(master)是否会发生改变呢?我们再创建个test2,添加并提交,然后用 ls 命令查看当前分支有哪些文件。

         发现分支下有test.txt和test2.txt文件。再切换到master下,用ls命令查看有哪些文件。

         发线主线下文件并没有发生改变,这就验证了主线和分支是并行、互不影响的。

合并分支 git merge+分支名

        首先我们得处于主线下,如果不是master,需要切换到master。输入git merge +要合并的分支名,这时会发现分支下创建或修改的文件也出现在主线下了。当然,也可将主线合并到分支上,在分支下输入合并master命令就可以实现,但是不建议这样做。

删除分支 git branch -d + 分支名

        这里我一时手乱输入错名字了,它提示这个名字找不到。正确输入后再输入git branch查看fenzhi1已经不见了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值