Atitit.eclipse git使用

1. Git vs svn1

1.1. 直接记录快照,而非差异比较1

1.2. Git的patch则不依附于branch,commit和commit之间的关系是一个GRAPH3

1.3. hg 本地有更改的时候,可以直接 pull 远程代码,然后在自己当前更改的工作目录中进行归并,从而不创建额外的分支3

1.4. 。git 在这种情况下,必须提交或者放弃自己的本地工作,然后 pull 远程代码,然后归并分支,也就是说,git 在这种情况下强制性创建分支。3

1.5. 基于git的设计:每个clone都必须包含完整的目录树和完整的历史,否则不能跟踪原始仓库的进一步变化3

2. 当然,git也有一些缺点,可能有些团队还是比较看重的:4

2.1. User or create respon in parent folder of prj4

3. Commit4

1. Git vs svn

像svn一样commit即push完全是灾难

Git need   add,commit,then push to remote svr.

hg commit 代码的时候,缺省就是当前所有更改。而 git 必须先 add 当前的修改,然后再commit。

1.1. 直接记录快照,而非差异比较

Git 和其他版本控制系统的主要差别在于,Git 只关心文件数据的整体是否发生变化,而大多数其他系统则只关心文件内容的具体差异。这类系统(CVS,Subversion,Perforce,Bazaar 等等)每次记录有哪些文件作了更新,以及都更新了哪些行的什么内容,请看图 1-4。

作者::  ★(attilax)>>>   绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://www.cnblogs.com/attilax/

Git 并不保存这些前后变化的差异数据。实际上,Git 更像是把变化的文件作快照后,记录在一个微型的文件系统中。每次提交更新时,它会纵览一遍所有文件的指纹信息并对文件作一快照,然后保存一个指向这次快照的索引。为提高性能,若文件没有变化,Git 不会再次保存,而只对上次保存的快照作一链接。Git 的工作方式就像图 1-5 所示。

这是 Git 同其他系统的重要区别。它完全颠覆了传统版本控制的套路,并对各个环节的实现方式作了新的设计。Git 更像是个小型的文件系统,但它同时还提供了许多以此为基础的超强工具,而不只是一个简单的 VCS。

。如果想要看当前版本的文件和一个月前的版本之间有何差异,Git 会取出一个月前的快照和当前文件作一次差异运算,而不用请求远程服务器来做这件事,或是把老版本的文件拉到本地来作比较。

1.2. Git的patch则不依附于branch,commit和commit之间的关系是一个GRAPH

 

拿CVS来比较的话,CVS的patch是基于branch的,patch和patch之间的关系是一个TREE。而Git的patch则不依附于branch,commit和commit之间的关系是一个GRAPH用不同的路径串起Git里的commit,就可以形成不同的branch。
这里说patch不依附于branch可能有些人不理解,提交patch的时候,不总是在某个开发分支上commit然后push的吗?不错,但是一个commit一旦提交了,就不再依附于原来的branch,而成为repository里的一个离散的点
Git里的所谓branch,只是在这个星罗密布的点阵里面,画一条串起若干commit的连线。

1.3. hg 本地有更改的时候,可以直接 pull 远程代码,然后在自己当前更改的工作目录中进行归并,从而不创建额外的分支

1.4. 。git 在这种情况下,必须提交或者放弃自己的本地工作,然后 pull 远程代码,然后归并分支,也就是说,git 在这种情况下强制性创建分支。

1.5. 基于git的设计:每个clone都必须包含完整的目录树和完整的历史,否则不能跟踪原始仓库的进一步变化

。具体来说,
(1) 很难直接跟踪git仓库的某个子目录:必须clone整个仓库然后做subtree merge。而SVN则可以直接checkout/update某个子目录。
(2) 每个版本之间变化都非常大时不适用git。比如说可以用svn去管理binary release的各个版本,客户端可以选择checkout哪个branch或者tag;但如果用git,就得先全clone到本地,这就疯了。

2. 当然,git也有一些缺点,可能有些团队还是比较看重的:

1.目录级别的访问控制,让有的成员只能访问某一目录(通常是模块);
2.直观的版本号;
3.部分检出一个目录,通常是一个模块/分支;

2.1. User or create respon in parent folder of prj

Create repos   workspace\.git

3. Commit

First  add to index

Then commit..

Bier yva file yao ni select l ..

Git 的主要特点.html

Atitit.eclipse git使用的更多相关文章

  1. atitit.eclipse 新特性总结3.1--4.3

    atitit.eclipse 新特性总结3.1--4.3 Eclipse 3.1 1 Eclipse 3.2 Java开发工具的新特性 2 1. 内容辅助(Ctrl+Space)模板 2 2. 动态地 ...

  2. Atitit eclipse新特性总结3.1---4.4  4.5

    Atititeclipse新特性总结3.1---4.4  4.5 1. Eclipse 4.4 Luna正式发布了.1 1.1. 新版本的Eclipse默认对Java8提供支持1 1.2. 内存分析器 ...

  3. Eclipse Git和sourceTree用法

    Eclipse Git和sourceTree用法 Eclipse Git: 提交代码到git: 1.team->Repository->pull 若没有冲突: 2.team->com ...

  4. eclipse git 一个错误:the current branch is not configured for pull No value for key branch.xxx.merge found

    eclipse git 一个错误:the current branch is not configured for pull No value for key branch.xxx.merge fou ...

  5. Eclipse Git提交代码,多了一个“工程同名的文件夹”,找不到解决办法!!!

    提交代码到Git仓库,有2种方式. 第1种,先在OSChina等平台创建git项目,本地clone,再在本地修改代码提交.√ 这种方式,没任何问题. 不过,我平时不喜欢这么干. 第2种,本地已经有了项 ...

  6. Eclipse git pull 报Nothing to fetch 异常原因

    eclipse git pull 报错 // 使用这个配置就可以正常pull了        [core]        symlinks = false         repositoryform ...

  7. eclipse git 开发操作流程

    1.eclipse git 开发操作流程 1.1流程简介 1)master主分支,当开发版本得到了充分的验证之后,才能将分支合入master,master为可产品化发布的状态. 2)develop分支 ...

  8. Eclipse git插件使用

    1.Eclipse git插件使用 1)配置提交用户名和邮箱 2)在eclipse中选择Show View 搜索git 3)点击clone按钮 选择代码保存路径 4)导入项目 5)git插件功能介绍 ...

  9. atitit.eclipse有多少api  扩展点,以及扩展点的设计

    atitit.eclipse有多少api  扩展点,以及扩展点的设计 不赞成使用的.作废的以及内部的扩展点 [扩展]页显示了几个你不应该在你的插件中使用的扩展点.在附表C.1的[描述]栏中,我们使用如 ...

随机推荐

  1. css一些我所不熟练的属性

    <hr />  表示一条横线 css的三种创建方式: 外部样式表 <head> <link rel="stylesheet" type="t ...

  2. CSS margin-top 属性

    1.margin-top 属性设置元素的上外边距. 注意:允许使用负值. 2.html 文件 <html> <head> <style type="text/c ...

  3. [Eclipse插件] 安装和使用JD-Eclipse插件

    JD-Core 是一个免费的库,从一个或多个“.class”文件中 重构Java源代码.JD-Core可以用来恢复丢失的源代码,并深究Java运行时类库.支持Java 5的功能:如注释,泛型或键入“枚 ...

  4. docker是PaaS,与openstack是IaaS的关系

    个人理解Docker的每一个虚机其实是宿主操作系统中的一个进程.主要是一种虚拟化技术.OpenStack主要解决的是基础架构云的云服务问题.OpenStack是在虚拟化技术之上的一层,主要解决系统部署 ...

  5. Nodejs全站开发学习系列 & 深入浅出Node学习笔记 & Spider抓取

    https://course.tianmaying.com/node 这个系列的文章看起来很不错,值得学习一下. /Users/baidu/Documents/Data/Interview/Web-S ...

  6. a<<=n

    a<<=n等价于a=a<<na<<n表示a左移n位(二进制)等价于a乘以2的n次方 a<<=n的含义就是,a等于a乘以2的n次方

  7. SQL精华应用

    [精确到纳秒的时间函数] SYSDATETIME().SYSUTCDATETIME()        ---- 精确程度取决于执行 SQL Server 实例的计算机硬件和 Windows 版本号 [ ...

  8. RDD原理与详解

    RDD详解 原文连接 http://xiguada.org/spark_rdd/ RDD(Resilient Distributed Datasets弹性分布式数据集),是spark中最重要的概念,可 ...

  9. ios中Core Location跟Map Kit的基本使用

    地图类开发应用中,离不开地理位置跟MKMapView的使用,下面就记录下自己在使用这两个东西中学到的. 不过并不是所有苹果的设备都支持地理位置,我们在使用前应该做个判断,代码如下: BOOL loca ...

  10. DevExpress TreeList使用

    using System; using System.Collections.Generic; using System.Drawing; using System.Windows.Forms; us ...