git—一种版本控制软件 - webdancer's Blog

git—一种版本控制软件

webdancer posted @ 2011年7月04日 04:14 in 工具 with tags Git , 1573 阅读

         版本控制软件(VCS)是软件设计师常会利用版本控制来追踪、维护源码文件以及设定档等等的改动,并且提供控制这些改动控制权的程序。一般有3种:

1.本地。

        

2.集中式。

3.分布式。

           Git属于第三种,有以下的要点:

1. 直接快照,而非比较差异
Git 和其他版本控制系统的主要差别在于,Git 只关心文件数据的整体是否发生变化,而大多数其他系统则只关心文件内容的具体差异。Git记录的是每个版本文件的快照。

2.近乎所有操作都可本地执行
在 Git 中的绝大多数操作都只需要访问本地文件和资源,不用连网。但如果用 CVCS 的话,差不多所有操作都需要连接网络。因为 Git 在本地磁盘上就保存着所有有关当前项目的历史更新,所以处理起来速度飞快。

3.时刻保持数据完整性
在保存到 Git 之前,所有数据都要进行内容的校验和(checksum)计算,并将此结果作为数据的唯一标识和索引。换句话说,不可能在你修改了文件或目录之后,Git 一无所知。

4.多数操作仅添加数据
常用的 Git 操作大多仅仅是把数据添加到数据库。因为任何一种不可逆的操作,比如删除数据,要回退或重现都会非常困难。

5.三种状态
好,现在请注意,接下来要讲的概念非常重要。对于任何一个文件,在 Git 内都只有三种状态:已提交(committed),已修改(modified)和已暂存(staged)。已提交表示该文件已经被安全地保存在本地数据库中了;已修改表示修改了某个文件,但还没有提交保存;已暂存表示把已修改的文件放在下次提交时要保存的清单中。


安装

sudo apt-get install git-core git-gui git-doc

配置

1.用户信息
第一个要配置的是你个人的用户名称和电子邮件地址。这两条配置很重要,每次 Git 提交时都会引用这两条信息,说明是谁提交了更新,所以会随更新内容一起被永久纳入历史记录:

git config --global user.name "xx"
git config --global user.email xx@example.com

2.其他。

3.如果使用github还可能需要设置:

git config --global github.user username
git config --global github.token 0123456789yourf0123456789token

帮助

想了解 Git 的各式工具该怎么用,可以阅读它们的使用帮助,方法有三:

git help <verb>
git <verb> --help
man git-<verb>

文章来源:内容大多数来自《pro Git》。

 

seo service UK 说:
2024年1月11日 03:23

I have to express some thanks to you for bailing me out of this challenge. After scouting throughout the internet and coming across concepts which were not powerful, I was thinking my entire life was done. Living devoid of the answers to the issues you have sorted out as a result of your article content is a crucial case, as well as the kind that would have badly damaged my entire career if I hadn’t encountered your blog. Your primary knowledge and kindness in controlling almost everything was precious. I am not sure what I would have done if I had not encountered such a subject like this.


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter
Host by is-Programmer.com | Power by Chito 1.3.3 beta | © 2007 LinuxGem | Design by Matthew "Agent Spork" McGee