登录 立即注册
金钱:

Code4App-iOS开发-iOS 开源代码库-iOS代码实例搜索-iOS特效示例-iOS代码例子下载-Code4App.com

查看: 37|回复: 6

Git可视化工具SourceTree的使用,git可视化工具

[复制链接]

209

主题

209

帖子

1892

金钱

手工艺人

发表于 2017-12-29 15:26:30 | 显示全部楼层 |阅读模式

        

        对于Git的初学者,个人建议先学习Git命令行,然后再去使用图形化工具,这样才会对整个Git的工作流有一个完整的了解。今天我们要来学习的工具是SourceTree,一款非常好用的Git可视化工具。我今天的操作都将在Mac上进行,并且以iOS项目作为演示。因为对于使用Git的公司,SourceTree还是非常流行的。

        (1)在这里,我们把远程仓库搭建在Github上面,现在我的远程仓库为:  https: //github.com/chenyufeng1991/UseSourceTree 。

        (2)打开SourceTree,点击New Repository-->Clone from URL, 然后复制仓库地址 https: //github.com/chenyufeng1991/UseSourceTree.git 到SourceTree中的Source URL中,本地仓库的位置和名称可以随意修改。如图:点击clone即可。这样就能把远程仓库中的项目clone到本地了。

        

        

        (3)clone项目完成后,SourceTree中看到如下:

        上面的任务栏分别有commit(提交)、Pull(更新代码)、Push(推送代码)、Fetch(抓取代码),Branch(新建分支)、Merge(合并代码)、Stash(暂存代码状态)。

        左侧中的WORKSPACE表示本地的工作区,file status中可以看到本地文件的改变状态,History中是commit历史。下面的BRANCHES显示的是本地的分支。REMOTES显示的是远程的分支。

        下方的状态栏显示本次提交的修改文件。以及修改文件中修改的代码。

        

        

        (4)如果上述是别人的一个项目,那么此时你就可以在本地进行开发了。但是如果是你自己要在远程创建自己的项目,那么下面你要在本地先创建一个项目。我以Xcode创建一个iOS项目为例,我创建的项目名称为UseSourceTree_iOS. 然后把该项目拖入到clone下来的本地仓库中。拖入完成后,SourceTree就显示如下:

        

        可以在SourceTree中可以看到工作区中的改变,比如哪些文件被修改,以及修改的内容。

        

        (5)本地做了修改后,可以看到文件都还是在Unstaged files中,勾选你要提交的文件,然后文件就会到Staged file中,这个操作对应的命令就是git add ,即把文件从工作区放到暂存区。操作完成后,如下所示:

        

        

        (6)此时就可以进行commit操作了。点击左上角的commit。在commit的时候强烈推荐写上注释。

        

        完成comm之后,提交历史就会变成如下所示。1 ahead表示本地提交比远程提交领先一次commit。

        

        

        来到不同的分支,比如master分支,点击不同的commit History,可以查看到文件的修改,非常的方便。可视化工具对于code review非常有利。

        

        

        (7)本地完成commit之后,就需要向远程仓库提交代码了。个人建议,在Push之前,先进行Pull。

        但是要注意,pull = fetch + merge,你拉取代码的时候选择的是pull还是fetch,还是使用rebase,这个要根据你的个人习惯,最主要的是要根据你团队的Git工作流来操作。个人的建议是用git pull --rebase命令,相当于使用git fetch + git rebase命令,而不是使用merge,这主要是为了保持树结构和历史的干净(推荐去了解一下git merge 和git rebase的区别)。

        点击上方的Pull拉取代码。

        

        

        在进行PUll的时候,可以选择远程的分支,同时如果勾选了最后一个“Rebase instead of merge”,表示使用rebase命令,而不是merge。

        

        (8)完成更新代码后 ,就可以向远程提交代码了。点击上方的Push,弹出如下对话框。

        

        在提交的时候,选择要提交的分支即可。此时可能需要你输入Github或者其他的远程的用户名和密码,输入即可。(注意:此时输入的用户名和密码与.git配置里面的name和email不是同一个概念。此时要你输入的用户名和密码只和你的远程服务器有关,和git无关,因为你要向服务器推送代码,必然要有权限,这个用户名和密码相当于权限。但是.git里面的name和email只是作为你git这个工具标记而已,和远程服务器没有关系。)

        

        

        (9)Push完代码后,可以在提交历史中看到自己和别人的提交。如图:

        

        

        此时,本地和远程已经保持了同步,所以原来的1 aHead就消失了。来到Github中,发现代码已经成功提交了。

        

        

        (10)此时,如果其他开发者向远程仓库提交了代码,那么在你的SourceTree中就会显示如下,

        

        

        在你本地的master分支下,可以看到1 behind,表示你本地的分支已经落后于远程分支1 commit了。可以选择Pull来更新代码。

        

        (11)如果远程仓库有其他的分支,那么我需要checkout(检出)远程分支到本地,如图,远程有dev分支,双击左侧远程的dev分支,即可检出。检出的时候还可以重命名本地该分支的名字:[/size

3

主题

6474

帖子

424

金钱

攻城狮

Rank: 3Rank: 3

发表于 2017-12-29 15:39:00 | 显示全部楼层
感谢大神~

18

主题

6467

帖子

1855

金钱

iOS大神

Rank: 6Rank: 6

发表于 2017-12-29 15:52:07 | 显示全部楼层
感谢分享,楼主V5~

18

主题

6485

帖子

1745

金钱

iOS大神

Rank: 6Rank: 6

发表于 2017-12-29 16:07:09 | 显示全部楼层
code4app好的代码demo真的很多,谢谢啦~

14

主题

6466

帖子

1087

金钱

iOS大神

Rank: 6Rank: 6

发表于 2017-12-29 16:23:59 | 显示全部楼层
mark,收藏了

0

主题

6457

帖子

-505

金钱

限制会员

发表于 2017-12-29 16:41:40 | 显示全部楼层
膜拜大神~

23

主题

6490

帖子

1063

金钱

iOS大神

Rank: 6Rank: 6

分享大神

发表于 2017-12-29 17:09:13 | 显示全部楼层
膜拜大神~
*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

关闭

每日头条

通过邮件订阅最新 Code4App 信息
上一条 /4 下一条

广告投放| Github|申请友链|手机版|Code4App ( 粤ICP备15117877号-1 )

快速回复 返回顶部 返回列表