Git与SVN的区别
SVN是集中式版本控制系统,版本库是集中放在中央服务器的。而我们工作的时候,用的都是自己的电脑,所以首先要从中央服务器得到最新的版本,然后工作,完成工作后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,对网络带宽要求较高。
Git是分布式版本控制系统,没有中央服务器,每个人的电脑就是一个完整的版本库,工作的时候不需要联网了,因为版本都在自己电脑上。协同的方法是这样的:比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
Git安装与配置
2.1 安装
Git官网下载安装包
2.1 配置
Git 提供了一个叫做 git config 的工具,专门用来配置或读取相应的工作环境变量。这些环境变量,决定了 Git 在各个环节的具体工作方式和行为。这些变量可以存放在以下三个不同的地方:
/etc/gitconfig
文件:系统中对所有用户都普遍适用的配置。若使用git config
时用--system
选项,读写的就是这个文件。
~/.gitconfig
文件:用户目录下的配置文件只适用于该用户。若使用git config
时用--global
选项,读写的就是这个文件。
- 当前项目的 Git 目录中的配置文件(也就是工作目录中的
.git/config
文件):这里的配置仅仅针对当前项目有效。每一个级别的配置都会覆盖上层的相同配置,所以.git/config
里的配置会覆盖/etc/gitconfig
中的同名变量。
配置个人的用户名称和电子邮件地址
$ git config --global user.name "[name]"// Sets the name you want a ached to your commit transactions
$ git config --global user.email "[email address]" //Sets the email you want a ached to your commit transactions
如果用了 --global 选项,那么更改的配置文件就是位于你用户主目录下的那个,以后你所有的项目都会默认使用这里配置的用户信息。
查看配置信息
要检查已有的配置信息,可以使用 git config --list 命令
Git使用
3.1 创建新仓库
1. git init
$ git init [project-name] //使用指定目录作为Git仓库。
$ git init //当前目录作为Git仓库,我们只需要初始化
2. git clone
$ git clone [url] //从现有 Git 仓库中拷贝项目
git clone <repo> <directory> //克隆到指定的目录
- repo:Git 仓库。
- directory:本地目录。
举例:$ git clone git://github.com/schacon/grit.git 执行该命令后,会在当前目录下创建一个名为grit的目录$ git clone git://github.com/schacon/grit.git mygrit 如果要自己定义新建的项目目录名称,可以在上面的命令末尾指定新的名字
3.2 添加和提交
git add 命令将想要快照的内容写入缓存区 ,而执行 git commit 将缓存区内容添加到仓库中。
将文件1和文件2添加到缓存区:$ git add <文件1> <文件2>
将当前项目所有文件添加到缓存区:$git add .
Git 为你的每一个提交都记录你的名字与电子邮箱地址,所以第一步需要配置用户名和邮箱地址。
$ git config --global user.name 'runoob' $ git config --global user.email test@runoob.com
3.3 推送和改动
3.4 分支
几乎每一种版本控制系统都以某种形式支持分支。使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作
列出本地分支:$git branch
列出远程分支:$git branch -r
切换分支:$git checkout <branchname>
创建分支:$git branch <branchname>
删除分支:$git branch -d <branchname>
合并分支:$git merge <branchname>//将任何分支合并到当前分支去
3.5 更新与合并
3.6 辙销修改文
写代码过程中,会遇到文件修改或添加到暂存区后想辙销,那么可以用以下两条命令
- git checkout -- file 丢弃工作区的修改,还未add的文件
- git reset HEAD file 把暂存区的修改撤销掉,已经add但还未commit的文件
Git服务器搭建
Github 公开的项目是免费的,但是如果你不想让其他人看到你的项目就需要收费。这时我们就需要自己搭建一台Git服务器作为私有仓库使用。
参考网站:http://www.runoob.com/git/git-tutorial.html