首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

GIT学习札记1-基本使用

2012-07-25 
GIT学习笔记1--基本使用关键字:?git?,版本管理感谢linux大鹏的《看日记学git》系列教程Git?是一个由林纳斯·

GIT学习笔记1--基本使用

关键字:?git?,版本管理

感谢linux大鹏的《看日记学git》系列教程

Git?是一个由林纳斯·托瓦兹为了更好地管理linux内核开发而创立的分布式版本控制/软件配置管理软件。与常用的版本控制工具?CVS,?Subversion?等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。 Git 的速度很快,这对于诸如 Linux kernel 这样的大项目来说自然很重要。 Git 最为出色的是它的合并跟踪(merge tracing)能力。

?

一.安装GIT

1.源码安装:

从Git官网的下载页面下载最新稳定版源代码,然后编译、安装

$ wget http://kernel.org/pub/software/scm/git/git-1.7.3.5.tar.bz2$ tar -xjvf git-1.7.3.5.tar.bz2$ cd git-1.7.3.5$ make prefix=/usr all ;# 设置Git安装目录$ sudo make prefix=/usr install ;# 以root权限运行

?

2.安装包安装:

fedora 等系统

$ yum install git-core 

ubuntu等系统

$ apt-get install git-core

?

二.设置用户名和密码

$ git config --global user.name flynewton #将用户名设为flynewton$ git config --global user.email alicool@foxmail.com #将用户邮箱设为alicool@foxmail.com

Git的配置信息分为全局和项目两种,上面命令中带了“--global"参数就是进行全局配置,会影响本机上的每个一个Git项目。

Git也可以为每个项目设定不同的配置信息,进入Git项目所在目录,执行下面的命令:

$ git config user.name xxx#将用户名设为xxx$ git config user.email xxx@gmail.com #将用户邮箱设为xxx@gmail.com

?

三.开始使用GIT

1.快速入门

$  cd hello-git/    #进入项目目录$ git init   #初始化该项目,建立一个.git隐藏目录用于保存项目目前的进展情况$ git add .  #建立快照,快照存储在临时存储空间$ git commit #将快照中的内容写入GIT仓库,输入回车后会进入vi窗口,记录版本和开发情况等,也可以直接git commit -m "log msg"$ git commit -a #相当于"git add ."+"git commit",但是无法加入新增的文件或文件夹

?

2.修改源代码后的操作

$ git diff   #查看源代码和快照的区别$ git diff --cached   #查看快照和仓库的区别$ git status   #查看整体改动的信息$ git add hello.py   #告诉git我修改了hello.py文件,请检查下(GIT中无论修改还是增加新文件均使用add进行登记)$ git commit   #提交到git$ git log   #查看日志$ git reset --soft HEAD  #只回退commit的信息,但index file(就是临时存储区域)和修改的代码仍然在$ git reset --hard HEAD  #不仅回退commit的信息,代码也恢复到修改前的版本$ git reset --mixed HEAD  #回退commit和index file的信息,保留代码的修改$ git reset HEAD  #默认情况等同于mixed$ git reset -- a.py  #从index file中删除一个已经登记的文件

3.分支管理

$ git branch branch-a  #创建branch-a分支$ git branch   #查看所有分支,其中带*的返回结果为当前分支$ git checkout branch-a   #切换到branch-a分支====================================================修改分支代码$ git commit hello.py   #提交到分支====================================================$ git checkout master   #切换到主干====================================================修改主干代码$ git commit hello.py   #提交到主干====================================================$ git checkout branch-a   #切换到branch-a分支$ git merge branch-a   #将分支合并到主干(如果有冲突会提示冲突的地方,修改后再合并)$ git branch -d branch-a   #分支内容合并到主干后删除branch-a分支$ git branch -D branch-a   #不论分支内容是否合并到主干,均删除branch-a分支
$ sudo apt-get install gitk   #安装gitk,gitk可以在图形界面查看所有分支及改动信息$ gitk   #启动gitk查看分支及改动信息
$ git clone /home/flynewton/hello-git hello-git2   #克隆hello-git到hello-git2中$ cd hello-git2==========================================================$ 修改hello-git2中的源代码并提交==========================================================$ 创建分支branch-b,并修改分支中的源码并提交==========================================================$ 进入hello-git文件夹中==========================================================$ git fetch /home/flynewton/hello-git2 master:hello2-works  #将hello-git2主干代码作为本地的新分支hello2-works$ git  -p master..hello2-works #查看本地主干和hello2-works分支的差异==========================================================$ git pull /home/flynewton/hello-git2 master #合并hello-git2的主干到本地分支$ git pull /home/flynewton/hello-git2 branch-b #合并hello-git2的分支到本地分支

4.历史记录查询

$ git log #查询历史记录,返回commit 59e67766668f315a3b84beaca709777cdb6c8f09这样的标记码$ git show 59e67766668f315a3b84beaca709777cdb6c8f09 #查看该commit的记录$ git tag V1 59e677 #标记为V1$ git show V1 #查看V1记录$ git branch branch-c V1 #建立基于V1的分支$ git log V1..V3 #显示V1至V3的历史记录$ git log branch-a..branch-b #显示在branch-b但不在branch-a中的历史记录

热点排行