Git(三) Git 图形化管理工具 SourceTree 全部实用操作

Git(三) Git 图形化管理工具 SourceTree 全部实用操作

上篇文章主要说到Git的账号情况, Getlab账号和Github账号同时使用;本篇文章接着上篇内容继续为大家介绍 Git的图形化管理工具 SourceTree

前言

一,SourceTree 的下载安装

二 ,克隆项目Clone

三 ,提交Commit和推送Push

四 ,拉取pull和获取fetch

五 ,版本回退reset

六 ,检出checkout

七 ,标签Tag

SourceTree是一个免费的Git图形化管理工具

一,SourceTree的下载安装


SourceTree 可以直接去官网下载(https://www.sourcetreeapp.com),

根据需要选择不同终端的版本下载,默认最新的版本,界面如下:

下载成功后是一个exe文件,

进入下载保存sourceTree的目录,双击SourceTreeSetup-3.1.3.exe文件进行安装,部分情况会弹出如下界面:

这里的提示不用担心,我们在这里选择否,对以后的使用不会有影响的。点击  否  进入下一个页面

点击“下一步”会出现账户注册的页面,界面如下:


注册页面点击需要进入网页网页进行注册,注册成功后自动进入下一步完成。

如果不想注册也想完成,这里推荐一种方式:


进入网盘下载accounts.json文件,链接地址:https://pan.baidu.com/s/1qBbifQh7b-exV_b9IrfvwA 密码:w4d5  ; 将该文件拷到C:\Users\Administrator\AppData\Local\Atlassian\SourceTree文件夹下。关掉sourcetree的安装页面,重新双击SourceTreeSetup-2.5.5.exe文件,再次安装会发现直接进入了如下页面:

这里我们可以选择  下载一个只被SiurceTree使用的内嵌版Git,下面进行git的下载。

安装完git之后就会进入sourcetree的页面,也就是说sourcetree的安装成功了。

安装完成后 可以进行账号添加,如果之前使用过Git,并且通过命令行更新过代码,可以编辑账号,进行修改调整

二,克隆项目Clone

操作步骤:  打开SourceTree  ---》 点击clone ,需要填充信息后克隆代码.

1. 原路径/URL (Github 上项目的路径地址 例如:https://github.com/chenjianpeng/flutter.git)

2. 目标路径(本地存储项目的文件目录)

3.名字(本地存储项目名字)

设置原路径后会加载验证是否是一个git服务器链接,如果链接正确,会展示如下界面。

ok  如果出现上面的验证没有问题,点击克隆,就会把Github服务器的代码资源 克隆到 本地文件目录。可以看到分支下面多了一个master。

三 ,提交Commit和推送Push

当我们本地对代码或者资源做调整后,就需要提交更新到Github服务器,那么我们怎么使用SourceTree做提交后推送到服务器呢?
1,本地做调整的代码或者资源,需要从未暂存添加到已暂存中。

图一:显示未暂存

图二:已暂存

2,提交  commit

将工作空间修改提交到本地库

3, 推送push
将本地库修改提交到远程库。

四 ,拉取pull和获取fetch

上面说了提交本地代码库和提交远程代码库,那么我们怎么冲远程代码库拉取代码呢?
就需要用到 pull 和fetch 的操作

1,拉取pull
从远程拉取最新版本 到本地  自动合并 merge

2,获取 fetch

从远程获取最新版本 到本地   不会自动合并 merge

五 ,版本回退reset


reset 将当前版本回退到选定的版本

下面我们说一下 版本回退,我们在使用Git提交代码时,会出现,提交后想要回退到上一节点或者由于提交问题导致代码覆盖,就需要回退之前的某一个节点,这是我们就需要 执行 reset操作。

我们来看一下之前提交的分支  下图中 提交代码的节点  ‘标注1 ’ 就是我们上次提交的,现在我们需要回退到当前节点提交前的代码,

操作:首先我们右击该提交节点 ---》弹出框中 选择   重置当前分支到此次提交  ---》混合合并,保持工作副本并重置索引


点击确定后 会回退到当前版本,之后提交的资源会放入未缓存区域,等待再次缓存提交

步骤说明如下:
 

第一步:首先把你最新的代码备份一份(

第二步: SourceTree选中要回滚到的节点 右键 重置到这次提交 强行合并 ;

第三步:【关键】这个时候,SourceTree会提示你本地有拉取,而且你push也推送不上去,除非你 git push -f (强制推送),但是这样无济于事,因为别人合并了你的代码了,再合并,还是会出现原来你不想要的代码! ok !!!!!这个时候你需要:不要拉取,直接找到你的项目,把你的项目copy一份出来 ,ok;

第四步:拉取,拉取之后 你的SourceTree应该是 无提交 无拉取 无推送 的三无状态 说白了 就是回到了你回滚之前的状态,ok !!!! 这时候,你找到你的项目目录,直接把刚才copy出来的文件 直接来进来 直接替换掉现在的项目文件!

第五步:ok,这个时候,你就有很多本地更改需要提交了, commit, push 这时候 别人再合并你的分支,就OK了,别人的代码没动,你的代码回归到了某一个节点的代码!

如果第一步你不需要保存最新的代码,已经大功告成了!! 如果你日后还需要最新的代码,就同样的道理:

第六步:把你第一步备份的代码,替换你现在的代码,然后commit 然后push 这样你的代码就又回来了!

六 ,检出checkout

checkout 创建分支,切换分支。

checkout时,如果只有当前分支,则会新建一个分支。

如果是两个分支间checkout,则会切换分支。

当修改这个checkout的分支时。可以看到从选择检出后,修改的提交会忽略到以后的提交。

相当于checkout命令 创建了新分支,并切换到了这个分支。

但是这个分支是不存在的。要新建一个分支。

分支操作:右击检出节点,选择分支

七 ,标签Tag

tag 就是给这个版本打个标记,方便用于识别查看等操作。

OK,本文我们就先说到这里,有问题欢迎留言讨论。下一篇我们说一下:冲突的处理。相信每一个使用Git的人最头疼的就是遇到冲突,那么我们怎么拜托这种问题呢?下一篇帮助你如何处理冲突。

                                                                                                     -END-

                                                                                                   程序职场

                                                                                          一个执着的职场程序员

发布了55 篇原创文章 · 获赞 101 · 访问量 34万+

猜你喜欢

转载自blog.csdn.net/jianpengxuexikaifa/article/details/101687647