Git学习总结1

Git是一个可扩展的分布式版本控制系统,它包含丰富的命令集,对内部系统提供了高级操作和完全访问。
1、使用Git管理个人文档
Git善于保存文本文档,使用Git对现有文档进行版本控制,首先要基于现有文档建立项目仓库。假设本文档位于~/evawang/workspace目录下,下面以Bash变量$WORK代替该目录,首先初始化Git仓库:
echo $WORK
WORK=~/evawang/workspace
cd $WORK
git init

Git会作出以下回应:
Initialized empty Git respository in @WORK/.git/
上述操作的结果是在$WORK目录下创建了一个 .git隐藏目录,它就是所谓的 Git仓库,不过它现在还是空的,另外 $WORK目录也不再是普通的文档目录了,它称为 工作树
Git向仓库中添加文档时,需要经过一番处理,生成Git仓库所能接受的数据格式,该过程称为“take a snapshot”,可采用下面的命令实现:
cd $WORK
git add .

生成的快照被存放到一个临时的存储区域中,Git称该区域为 索引。使用git commit命令可以将索引提交到仓库中,该过程称为 提交,每一次的提交都意味着版本的更新。
git commit

执行git commit操作,Git会自动调用系统默认的文本编辑器,要求你输入版本更新说明并保存。对于简单的版本更新信息,可以使用git commit 的"-m"选项,如下:
git commit -m "版本更新信息"
建立Git仓库的一些细节
first:在使用Git之前,需要对Git来个自我介绍,因为它要求队员在提交数据时承担一定的责任!向Git自我介绍,使用一下命令:
git config --global user.name "your name"
git config --global usr.email EmailAdress

second:在生成快照时,工作树中有一些文档是你不希望接受Git管理的,譬如编译时生成的中间文件。为解决此类问题, Git提供了文档忽略机制,可以将工作树中你希望接受Git管理的文档信息写到同一个目录下的 .gitignore文件中。例如工作树中的middle目录不需要Git管理,需要如下操作即可:
cd $WORK
echo "middle" > .gitignore
git add .

Git仓库就是那个.git目录,存放的是我们所提交的文档索引内容,Git可以根据文档索引内容对其所管理的文档心境内容追踪,从而实现文档版本控制。
cp -R $WORK/.git /tmp/m2doc.git
cd /tmp
git clone m2doc.git m2doc-copy //使用git-clone命令从m2doc.git中生成m2doc-copy目录

这就意味着只要我们拥有仓库,就可以生成工作树,该工作树又包括一个仓库,即:m2doc-copy/.git
ex:将修改了的file1.txt file2.txt文件添加到索引中
git add file1.txt file2.txt

执行git-commit操作将索引添加到仓库中,如果你忘记了对工作树中的哪些文档进行更新,git add命令能够判断出当前目录及子目录下用户所添加的新的文档,git-commit命令的-a选项可将所有被修改的文档或删除的文档的当前状态提交到仓库中。 如果只是修改或者删除已被Git管理的文档,就没有必要使用git-add命令了
查看历史版本:
git log //查看使用git-commit向仓库提交新版本时所属的版本更新信息
git log --stat --summary //查看每一次版本大致变动情况

如果我们将项目的版本号作为git-show命令的参数,可以查看该次项目版本的更新细节
git show editionNum

除了使用完整的版本号查看版本更新信息,还可以使用以下方式:
git show part_of_editionNum  //一般只使用版本号的前几个字符进行查询
git show HEAD  //显示当前分支的最新版本的更新信息
git show HEAD^   //查看HEAD的父版本的更新信息

你也可以对项目版本号进行自定义,然后就利用自定义的版本号查看对应的版本更新信息

git tag v0.1 part_of_editionNum  //制造了一个tag对象,在进行项目对外发布时比较有用
git show

撤销与恢复
git-reset命令即是将当前版本定位到之前提交的任何一个版本。
git-reset命令有三个选项:--mixed   --soft  --hard,一般只使用前两个选项。
--mixed 是git-reset的默认选项,作用:重置索引内容,将其定位到指定的项目版本,而不改变你的工作树的内容,只是提示你有哪些文件还未更新。
--soft 不触动索引的位置,也不改变工作树的内容,但会要求他们处于一个良好的次序之内,该选项会保留你在工作树中所有更新并使之处于提交状态。
欲查看git-reset命令对工作树的影响,可使用git-status命令。
使用Git帮助文档的方法,如果想查看git add命令,man git-add就好了!
先总结这么多吧!











猜你喜欢

转载自wang-2011-ying.iteye.com/blog/1532451
今日推荐