Git使用教程

一、分布式版本控制系统Git简介

Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git Linus Torvalds为了帮助管理 Linux内核开发而开发的一个开放源码的版本控制软件。

二、Git的使用


2.1、Git的安装

在Linux 系统下可以输入Git命令来查看当前系统有没有安装Git如果没有的话可以通过sudo apt-get install git 安装git。当Git安装完成以后进入最后一步设置。因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。配置命令为:

$git config --global user.name"Your Name"

$git config --global user. email"[email protected]"

注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。


2.2、创建Git管理的版本库

版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。首先进入一个要创建版本库的目录,在使用git init。

$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/


2.3、查看版本库的状态

命令可以让我们时刻掌握仓库当前的状态,我们可以通过这个命令知道当前哪些文件被修改,哪些文件加入到暂存区、哪些文件被提交到工作区。

$ git status


2.4、Git的add和commit

$ git add readme.txt

git add 命令是为了把修改文件加入到暂存区。

$ git commit -m "append GPL"

git commit 命令是把暂存区的文件加入到工作区。


2.5、查看提交日志

在实际工作中,我们脑子里怎么可能记得一个几千行的文件每次都改了什么内容,不然要版本控制系统干什么。版本控制系统肯定有某个命令可以告诉我们历史记录,在Git中,我们用git log命令查看:

$ git log
commit 3628164fb26d48395383f8f31179f24e0882e1e0
Author: Michael Liao <[email protected]>
Date:   Tue Aug 20 15:11:49 2013 +0800
    append GPL
commit ea34578d5496d7dd233c827ed32a8cd576c5ee85
Author: Michael Liao <[email protected]>
Date:   Tue Aug 20 14:53:12 2013 +0800
    add distributed
commit cb926e7ea50ad11b8f9e909c05226233bf755030
Author: Michael Liao <[email protected]>
Date:   Mon Aug 19 17:51:55 2013 +0800
    wrote a readme file

2.6、版本回退

git checkout -- file;撤销对工作区修改;这个命令是以最新的存储时间节点(addcommit)为参照,覆盖工作区对应文件file;这个命令改变的是工作区


git reset HEAD -- file;清空add命令向暂存区提交的关于file文件的修改(Ustage);这个命令仅改变暂存区,并不改变工作区,这意味着在无任何其他操作的情况下,工作区中的实际文件同该命令运行之前无任何变化

2.7、添加远程仓库Github

1、在远程仓库加入本地的ssh的公钥

因为本地区和远程去使用的是ssh安全协议通信。

$ ssh-keygen -t rsa -C [email protected](任意邮箱即可)

2、把本地仓库与远程仓库关联

$ git remote add origin [email protected]:michaelliao/learngit.git(远程代码仓库的地址)

其中上述命令的地址为Github远程库的地址。

3、 把本地库内容推送到远程库

Git push –u origin master

把本地库内容推送到origin所指向库的master分支。由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。以后再要推送直接使用

Git push origin master

4、 从远程库拉取内容

分别有命令git clone 和git pull

clone是本地没有repository时,将远程repository整个下载过来,此时不但下载下来内容,而且在本地创建了一个版本控制的仓库,并且自动绑定了master分支。

pull是本地有repository时,将远程repository里新的commit数据(如有的话)下载过来,并且与本地代码merge。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章