webdancer's Blog

git基础

      一、构建git仓库。

有两种取得 Git 项目仓库的方法。第一种是在现存的目录下,通过导入所有文件来创建新的 Git 仓库。第二种是从已有的 Git 仓库克隆出一个新的镜像仓库来。下面尝试第一种方法:

在项目目录下:

git init

     二、构建更新到仓库。


1.查看状态:

git status

刚新建的仓库是没有任何文件被跟踪的:

# On branch master
#
# Initial commit
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#	__init__.py
#	__init__.pyc
#	apache/
#	bookmark_base/
#	manage.py
#	media/
#	settings.py
#	settings.pyc
#	template/
#	urls.py
#	urls.pyc
nothing added to commit but untracked files present (use "git add" to track)

2.跟踪新文件

git add  XXX

3.提交

git commit -m ""

       三、远程仓库。

git remote add origin git@github.com:username/Hello-World.git
git push origin master

文章来源:《pro git》作者:Scott Chacon
 

git—一种版本控制软件

         版本控制软件(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》。

 




Host by is-Programmer.com | Power by Chito 1.3.3 beta | © 2007 LinuxGem | Design by Matthew "Agent Spork" McGee