Git管理工具对照(GitBash、EGit、SourceTree)
Git管理工具对照(GitBash、EGit、SourceTree)
GitBash是採用命令行的方式对版本号进行管理,功能最为灵活强大,可是由于须要手动输入希望改动的文件名称,所以相对繁琐。
EGit是Eclipse的Git插件,最为纠结的一个软件,由于开发时直操作非常方便,尤其是有svn开发情节的人更热衷于这样,只是EGit中有非常多bug和不人性化的东西,让人吐血,所以
一句话EGit并不能解决全部Git问题,开发时必须部分依赖于其它Git管理工具。一会一一列举。
SourceTree是近期应用的一个软件,一句话概括,既有GitBash的命令行,又有EGit的图形化管理,用户界面非常人性化,Eclipse+GitBash全然能够应付版本号管理。
那么以下我结合项目中开发遇到的问题一一解说一下:
)。
图(1)
B. 然后再次改动,发现以下的工作区中也有这个页面了(图2)。
(图2)
C. 如今就能够对此文件进行丢弃了,假设将以下文件丢弃(checkout),那么该文件将变为缓冲区中的文件,假设将缓冲区文件丢弃,实际上回到了近期的commit版本号了(reset操作)。
这里注意,假设该文件commit了,那么checkout实际上回不到commit之前的版本号的,须要reset。以下具体介绍一下reset命令。
(5) 对于reset功能的应用。这里先普及一下Git理念的事:
A. 明白一点,每一次commit都是相应着一批操作而不是相应一个文件。
这点和SVN的设计理念全然不一样。
这也造成了一个必定的结局:SVN的分支存的是一个project,所以每签出一个分支实际上都是签出一个project。
而Git的分支存的是改动的记录,所以每签出一个分支,实际上都是对原project的一次覆盖。
B.在开发过程中大家可能会遇到这样一个问题:Pull之后,会出现非常多别人提交的代码须要你本地再又一次提交一次,那么这个原因是这种,当然这个是我个人的理解:Git会把每一次pull结果做两个处理:
B1.假设pull之后,本地没有不论什么问题,那么不须要再次提交别人改动的东西了,仅仅须要继续你的改动,push就能够了(正常情况下一版都是这样)。
B2.假设pull之后,本地有问题,大部分情况是冲突的情况,那么Git会把本次当做一次不成功的pull(那么通俗的来讲,git会觉得,你觉得不成功,那么你把这次版本号依照你的想法改一下,再提交吧),所以你做完删减之后,须要把刚才别人的东西再提一次作为一个新的commit。
(6) 对于checkout某一次提交,SourceTree也非常人性化,会给出非常人性化的提示。注意checkout之后,你的project当前不属于不论什么分支,只是能够基于此又一次创建一个分支,非常方便。
总结一下:这里仅仅列出了一些关键的问题和不同点,当然工具的选择因人而异。大家能够在工作中慢慢体会,假设有问题欢迎大家提出,给我宝贵的意见。(待续)
Git管理工具对照(GitBash、EGit、SourceTree)的更多相关文章
- Git管理工具对比(GitBash、EGit、SourceTree)
Git管理工具对比(GitBash.EGit.SourceTree) GitBash是采用命令行的方式对版本进行管理,功能最为灵活强大,但是由于需要手动输入希望修改的文件名,所以相对繁琐. EGit是 ...
- Git管理工具对比(GitBash、EGit、SourceTree)(转载)
Git管理工具对比(GitBash.EGit.SourceTree) GitBash是采用命令行的方式对版本进行管理,功能最为灵活强大,但是由于需要手动输入希望修改的文件名,所以相对繁琐. EGit是 ...
- GitBash、EGit、SourceTree三个Git管理工具对比
Git管理工具对比(GitBash.EGit.SourceTree) GitBash是采用命令行的方式对版本进行管理,功能最为灵活强大,但是由于需要手动输入希望修改的文件名,所以相对繁琐. EGit是 ...
- Git 管理工具 基本用法
git管理工具基本操作命令: 1. 提交 git push origin dev 2.拉取分支: git pull 3.创建并转换分支: git switch -c dev; 4.直接切换到已有分支: ...
- 敏捷开发系列学习总结(4)—Git管理工具sourcetree的安装
现在代码管理都流行用git了,小编以前用过clearcase, svn,vss等.现在用了git后,发现git才是最好的,我觉得它最吸引人的地方应该是它的分布式管理吧.git的具体学习,读者可自己去网 ...
- git管理工具的使用教程
Git入门教程 1. 概述 对于软件版本管理工具,为什么要选择Git? 你真正学会使用Git时, 你就会觉得这个问题的回答是非常自然的.然而当真正需要用文字来回答时,却觉得文字好 ...
- Java的Git管理工具Gitblit
From:http://www.oschina.net/p/gitblit Gitblit 是一个纯 Java 库用来管理.查看和处理 Git 资料库.相当于 Git 的 Java 管理工具. 下载地 ...
- Mac 10.12安装Git管理工具SourceTree
说明:Git的GUI工具应该是这款最好用. 下载: (链接: https://pan.baidu.com/s/1mhRr35Y 密码: vv67)
- 新浪代码部署手册 git管理工具
目前新浪云上的应用支持通过Git和SVN来部署代码. Git仓库地址 https://git.sinacloud.com/YOUR_APP_NAME SVN仓库地址 https://svn.sinac ...
随机推荐
- 全面解读WM_NOTIFY
VC中的消息的分类有3种:窗口消息.命令消息和控件通知消息,我们这里要谈的是最后一种:控件通知消息. 控件通知消息,是指这样一种消息,一个窗口内的子控件发生了一些事情,需要通知父窗口.通知消息只适用于 ...
- HTTP实现长连接(TTP1.1和HTTP1.0相比较而言,最大的区别就是增加了持久连接支持Connection: keep-alive)
HTTP实现长连接 HTTP是无状态的 也就是说,浏览器和服务器每进行一次HTTP操作,就建立一次连接,但任务结束就中断连接.如果客户端浏览器访问的某个HTML或其他类型的Web页中包含有其他的Web ...
- 编译Boost 详细步骤 适用 VC6 VS2003 VS2005 VS2008 VS2010
vs2008编译boost [一.Boost库的介绍] Boost库是一个经过千锤百炼.可移植.提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一.Boost库由C++标准委员会库 ...
- 找工作笔试面试那些事儿(16)---linux相关知识点(1)
linux这部分的知识倒不是笔试面试必考的内容,不过现在很多公司开发环境都在linux系统下,一些简单的知识还是需要了解一下的,笔试面试中万一碰到了,也不会措手不及.作为菜硕的我,又因为读研期间的项目 ...
- 选择屏幕中的下拉框和dialog中下拉框设计
REPORT YTEST014. PARAMETERS: auart LIKE vapma-auart AS LISTBOX VISIBLE LENGTH 6. AT SELECTION-SC ...
- POJ1422 最小路径覆盖入门
题意:DAG求最小路径覆盖. 注意:二分匹配只试用于求DAG的最小路径覆盖, 有环就不行,具体可以理解证明. 对n个点进行拆点,分成左右两排点,对于边<u, v> 建 <u', v ...
- 实现web多语言的一种解决办法
实现web多语言可能有多种解决办法,现在分享一种比较简单的思路,这篇文章主要用于记录学习过程,肯定存在不少谬误,欢迎批评指正. web多语言实现最简单的一种方法可能是每一种语言一套代码,但这样存在一个 ...
- 设计模式(三)-- 适配器模式(Adapter)
适配器模式(Adapter) 考虑一个记录日志的应用,由于用户对日志记录的要求很高,使得开发人员不能简单地采用一些已有的日志工具或日志框架来满足用户的要求,而需要按照用户的要求重新开发新的日志管理系统 ...
- 使用iftop网络流量监控
iftop这是一个非常有用的工具.下面的命令监视无线网卡在我的笔记本 iftop -i wlan0 比如,我现在玩音乐视频.iftop显示的信息: 基本说明: 1. 屏幕主要部分都是表示两个机器之间的 ...
- 9月mob(ShareSDK)活动预告,这个秋天非常热
9月秋天来临,广州的天气依旧非常热,广州的活动氛围更热~ 先有GMGC B2B对接会在广州创新谷,再有上方网TFC全球移动游戏开发人员大会来袭,游戏圈的火越烧越旺,成都GMGDC全球移动游戏开发人员大 ...