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. palm os

    在3G展会上,Palm将告别Palm OS操作系统 2009年2月12日消息,据国外媒体报道,周三,Palm CEO埃德•科林根(Ed Colligan)在旧金山的一个投资者会议上表示,Palm将告别 ...

  2. 18.并发类容器MQ

    package demo7.MQ; public class QueueData { private int id; private String name; private String taskC ...

  3. SVM核技巧的经典解释

    支持向量机: Kernel by pluskid, on 2010-09-11, in Machine Learning     68 comments 本文是"支持向量机系列"的 ...

  4. lua调试的工具选择

    近期看到一个关于vs的lua调试插件, 装了vs2012试了下, 忍不住发此文总结下lua各种调试工具 Decoda 这是现今地球上调试lua5.1最方便的工具, 没有之中的一个. 强大的注入式调试, ...

  5. sql server 判断及增加列的默认值约束

    IF NOT EXISTS ( SELECT name FROM sysobjects WHERE id = ( SELECT syscolumns.cdefault FROM sysobjects ...

  6. [转]Configure a Package to Use Transactions SSIS

    本文转自:http://msdn.microsoft.com/en-us/library/ms141144.aspx When you configure a package to use trans ...

  7. 数组类型参数传递问题:$.ajax传递数组的traditional参数传递必须true

    数组类型参数传递: 若一个请求中包含多个值,如:(test.action?tid=1&tid=2&tid=3),参数都是同一个,只是指定多个值,这样请求时后台会发生解析错误,应先使用 ...

  8. NHibernate中几个集合的选择

    NHibernate是从Hibernate移植过来的基于NET平台的一个ORM框架,同时跟这框架一起的还有一个开源库,叫做Iesi.Collections,这个库扩展了NET平台下面的几个集合,所谓集 ...

  9. 转:android studio 改编译区背景色

    http://blog.csdn.net/zhuhai__yizhi/article/details/44017609 最近开始学习使用android studio想设置背景颜色,不过上网找的全都是复 ...

  10. Android SDK Manager 更新

    Android SDK Manager 更新 解决国内访问Google服务器的困难: 1.启动 Android SDK Manager : 2.打开主界面,依次选择「Tools」.「Options…」 ...