git客户端如何使用?git客户端基本使用教程

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。那git客户端如何使用?下面来我们就来给大家讲解一下。

1.克隆一个项目(楼主是从github上获取)

在工作目录下,如D:\test,空白处右键,选择: Git clone,则会弹出克隆对话框,如下图所示:

git客户端如何使用?git客户端基本使用教程.jpg

在URL中填写项目的访问地址,如:https://github.com/xuwenjin/xwj-test.git

根据项目大小,时间会不一样。克隆完成后,如果没有错误,会给出提示:

1.jpg

进入克隆下的文件夹中,如D:\test\xwj_repo,空白处右键,弹出如下菜单:

2.jpg

其中,Git Pull是从远端拉取最新的代码,Git Fetch是从远端拉取最新的分支,Git Push是将本地仓库的代码提交到远端

Git Commit ->”master”,将本地代码提交到本地版本库(默认的分支是master)。

2. 将本地代码提交到本地仓库

创建一个文件,如test1.txt, 然后提交(commit)到本地版本库(这个操作可以在离线状态操作)

3.jpg

2.1 选择Git Commit ->”master”,弹出下图:

4.jpg

2.2 填写提交备注message(不填写不允许提交),勾选需要提交的文件,点击commit,即可将本地代码提交到本地版本库。

出现如下弹框,表示提交成功

5.jpg

其中,提交时,会发现上图中的Status有几种值:

Unknown:新增的文件,也不在版本库

Added:新增的文件,在版本库

Modified:文件修改,在版本库

Missing:文件被删除,在版本库

3. 查看日志

右键选择Git Show Log(这个菜单可以通过上面的说的配置出来)。在日志中,可以通过日期、文件名、提交人等等过滤查询。

6.jpg

3.1 通过日志,可以很直观的看到提交相关记录。比如提交人、提交时间、提交了哪些文件等等。这些信息便于以后进行文件对比或者版本

回滚(后面将会介绍)点击test1.txt,可以看到本次提交,对test1文件进行了哪些操作:

7.jpg

至于怎么去看这些颜色表示什么意思,可以去百度一下,这里不做介绍

4、 将代码推送(push)到远端。这里是github

右键空白处,选择Git Push,出现如下弹框:

8.jpg

这里可以看到是本地哪个版本库提交到远端。至此,文件的整个提交过程就完成了

5、 分支

发现问题:你代码写了很多,运行OK;但是突然想加个新功能进去,这个功能你也不知道能否正常运行,而且修改过程中,除了新加代码和文件进去,还会修改以前的代码。要是万一失败,修改回来也是一种很麻烦的事情。这种时候很多人就用备份方式。来看看git是怎么优雅的处理这个问题的。

git的处理方式:当你想加一个新功能进去的时候,你可以新建一个分支,例如名字叫newbranch,然后在分支中把新功能加上去,如果OK,将代码合并到master分支上,如果新功能失败,切换回master分支上来,在newbranch写的代码,又全看不到了。

5.1 新建一个分支,右键-->TortoiseGit-->Create Branch

9.jpg

右键,你会发现当前的分支为你新建的newbranch分支了

5.2 接下来,就开心新增你的功能,比如我们在test1.txt文件中新增一行文字,同时新增一个文件test2.txt

10.jpg

5.3 提交我们的代码到newbranch分支的本地仓库,参考之前的2.2

5.4 突然发现该功能有漏洞,想回到之前的master分支,怎么办呢?

右键-->TortoiseGit-->Switch/Checkout,选择master即可。如下图:

11.jpg

5.5 空白处右键,会发现已经切换到master分支了。此时发现test2.txt并没有带过来,再来看看test1.txt文件是否回到了从前呢?

12.jpg

结果显示,无论是修改还是添加,都没有影响master分支上的文件,这就是分支的作用。

6、分支合并

如果此时发现newbranch分支上的功能是有效的,希望能合并到master,又该怎么操作呢?

PS:在合并分支前,一定要确认newbranch分支上的代码全部提交到本地版本库了

右键-->TortoiseGit-->Merge,选择被合并的分支,即newbranch。如下图

13.jpg

6.1 点击Ok按钮,会出现下图弹框。弹框中会列出被合并的文件。如下图所示:

14.jpg

6.2 我们发现test2.txt文件被合并过来了,打开test1文件,发现内容正好是在newbranch分支上修改的内容。

至此,分支合并完成

7、拉取(pull)远端最新的修改内容

此时,我们团队还有另一个成员B,他需要获取我最新修改的内容,该怎么操作呢?

首先B切换到跟我同一分支,然后右键-->Git Pull,点击确认即可,就可将我修改的内容拉取到他的本地版本库

8、版本回滚

8.1先查看日志,确定想回滚到哪个版本(这下知道为啥要填写提交备注了吧)

15.jpg

8.2 比如想回滚到创建test1.txt文件前,则点击该步操作所对应的message之前的那一个日志(add spring demo)

然后右键-->Reset “master” to this…,表示将当前master分支上的文件回滚到这个版本,如下图

16.jpg

8.3 选择之后,弹出如下弹框,在Reset Type下选择你回退的类型(楼主一般选择Hard:Reset working…..),点击Ok即可

17.jpg

会发现,此时test2.txt文件消失了,如下图:

18.jpg

Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。因此对于它的相关使用我们一定要熟练!最后大家如果想要了解更多其他工具教程知识,敬请关注奇Q工具网。

推荐阅读:

JAVA接口怎么定义?Java接口的功能是什么?

json的使用场景有哪些?json的使用场景讲解

Qt怎么获取主窗口大小?Qt当前系统时间如何获取?