EGit和SourceTree基本操作流程

来源:互联网 发布:软件测评师好考吗 编辑:程序博客网 时间:2024/05/20 06:31
最近github比较流行,git我理解为分布式的svn。
个人觉得SVN对于使用者而言比较简单直接,操作起来也比较好理解。但是代码保管方面不如git。
首先说一下SVN和GIT的区别:
svn是本地和服务器,然而git分为本地代码,本地服务器和远程服务器。因此在操作方面不如svn那么直接。
在这里把git基本操作整理一下,提供自己和有需要的小伙伴参考~
Git 客户端有好几种,这里讲解EGit和SourceTree的基本用法。(个人比较推荐后者,最近很受人追捧的git客户端)

git基本操作参考图

1.EGit

首先说一下EGit个人感觉是通过SVN的思想给简单化的git客户端,所以这样就不能体现git的强大所在。
个人觉得egit使用git操作有点大材小用的赶脚~而且egit本身也有一些小毛病。
如果你只是做基本的代码更新,提交等功能可以勉强用egit,这里还是强烈推荐使用sourcetree。

搭建eclipse git环境(声明:博主使用的是LUNA因此eclipse自带git插件)

由于安装插件网上有很多带图片的步骤,在这里就不唠叨如何安装插件了~
1、复制git项目路径

2、Eclipse > Import > Git > Projects from Git

3、选择克隆URL。


4、下面的Directory为git本地服务器地址。


5.其余的无脑next就可以了。
Eclipse 基本操作
  • Add to Index: 把要更新的文件提交到暂存区中,由git追踪。
  • Remove from Index: 把已提交到暂存区的文件删除。
  • Commit: 把文件提交到本地服务器。
  • Commit and Push: 把文件提交到本地服务器和远端服务器。
  • Synchronize Workspace: 本地代码库和远程服务器同步代码。
  • Fetch from Upstream: 远端服务器中取到本地服务器。
  • Pull: 从远程服务器中更新本地代码库。

2.SourceTree

已经有一段时间流行github版本控制来分布式管理代码库,客户端也比较多,这里将最火的客户端工具简单介绍一下。
sourcetree通过一个简单的用户界面即可使用所有的Git命令,个人认为功能相对比较全,而且通过用户界面来操作相对来讲降低了很多学习成本。
1、在github中复制git项目路径(同Egit)

2、Clone / New 克隆github服务端到本地。(Destination Path为本地git服务器根路径,个人比较推荐使用eclipse的workspace作为根路径,目的是方便eclipse导入工作空间中的项目)


3、双击orgin中的develop来checkout开发分支到本地。


4、在develop分支中创建feature分支


在本地的develop中创建feature开发后提交到远程develop服务器步骤。

1.双击Branches中新建的feature分支来切换分支到feature。

2.eclipse中导入工作空间中项目来开发。

3.本地开发完后在File Status中点击最下方的File Status 来将本地开发的代码add到Staged files后点击最上方的提交。

4.提交完后需要切换到develop分支先pull一下更新,之后合并feature中的代码到本地develop,如有冲突可以外联Beyond Compare软件来解决冲突,最后push到远程develop服务器。



Git Flow的流程图

主分支

  • 主分支是所有开发活动的核心分支。所有的开发活动产生的输出物最终都会反映到主分支的代码中。主分支分为master分支和development分支。

1. master分支

  • master分支上存放的应该是随时可供在生产环境中部署的代码(Production Ready state)。这个分支只能从其他分支合并,不能在这个分支直接修改
  • 所有在Master分支上的Commit应该Tag。

2.Develop 分支

  • 这个分支是我们是我们的主开发分支,包含所有要发布到下一个Release的代码,这个主要合并与其他分支,比如Feature分支。

3.Feature 分支

  • 这个分支主要是用来开发一个新的功能,一旦开发完成,我们合并回Develop分支进入下一个Release。
  • Feature分支做完后,必须合并回Develop分支, 合并完分支后一般会删点这个Feature分支,但是我们也可以保留。

4.Release 分支

  • 当你需要一个发布一个新Release的时候,我们基于Develop分支创建一个Release分支,完成Release后,我们合并到Master和Develop分支。
  • Release分支基于Develop分支创建,打完Release分之后,我们可以在这个Release分支上测试,修改Bug等。同时,其它开发人员可以基于开发新的Feature (记住:一旦打了Release分支之后不要从Develop分支上合并新的改动到Release分支)
  • 发布Release分支时,合并Release到Master和Develop, 同时在Master分支上打个Tag记住Release版本号,然后可以删除Release分支了。

5.Hotfix 分支

  • 当我们在Production发现新的Bug时候,我们需要创建一个Hotfix, 完成Hotfix后,我们合并回Master和Develop分支,所以Hotfix的改动会进入下一个Release。
  • hotfix分支基于Master分支创建,开发完后需要合并回Master和Develop分支,同时在Master上打一个tag。

3.总结

简单整理一下基本使用git flow的流程如下:

  1. 克隆到本地服务器后再checkout远程develop分支。在切换到本地develop分支中创建feature分支做功能开发。
  2. 开发完成后将feature中代码提交并推送到远程develop分支上。
  3. 在develop分支中创建release分支。并在该分支进行测试,测试完成后将修改的内容合并到master和develop分支上。(做完合并后可以删除该分支,也可以保留)
  4. master上突然发现紧急bug需要创建补丁修改时候在master分支上创建hotfix分支修补bug,修补完成后需要将修补内容合并回master和develop分支中(建议使用pull request 进行master的合并)。

SourceTree&Git部分名词解释

  • 克隆(clone):从远程仓库URL加载创建一个与远程仓库一样的本地仓库
  • 提交(commit):将暂存文件上传到本地仓库(我们在Finder中对本地仓库做修改后一般都得先提交一次,再推送)
  • 检出(checkout):切换不同分支
  • 添加(add):添加文件到缓存区
  • 移除(remove):移除文件至缓存区
  • 暂存(git stash):保存工作现场
  • 重置(reset):回到最近添加(add)/提交(commit)状态
  • 合并(merge):将多个同名文件合并为一个文件,该文件包含多个同名文件的所有内容,相同内容抵消
  • 抓取(fetch):从远程仓库获取信息并同步至本地仓库
  • 拉取(pull):从远程仓库获取信息并同步至本地仓库,并且自动执行合并(merge)操作,即 pull=fetch+merge
  • 推送(push):将本地仓库同步至远程仓库,一般推送(push)前先拉取(pull)一次,确保一致
  • 分支(branch):创建/修改/删除分枝
  • 标签(tag):给项目增添标签
  • 工作流(Git Flow):团队工作时,每个人创建属于自己的分枝(branch),确定无误后提交到master分枝
  • 终端(terminal):可以输入git命令行

1 0
原创粉丝点击