git 初始化
配置个人信息
首先,你需要执行下面两条命令,作为git的基础配置,作用是告诉git你是谁,你输入的信息将出现在你创建的提交中.
git config --global user.name "你的名字或昵称"
git config --global user.email "你的邮箱"
初始化工作树
然后在你的需要初始化版本库的文件夹中执行
cd $WORK
git init
git remote add origin <你的项目地址> //注:项目地址形式为:http://git.oschina.net/xxx/xxx.git或者 git@git.oschina.net:xxx/xxx.git
上述操作的结果是在 $WORK 目录下创建了一个 .git 隐藏目录,它就是所谓的 Git 仓库,不过现在它还是空的。另外 $WORK 目录也不再是普通的文档目录了,今后我们将其称为工作树。
克隆一个项目
git clone <项目地址>
项目管理
生成临时快照 git add
若将工作树下所有文档 (包含子目录)生成快照,可采用以下命令:
cd $WORK
git add .
指定部分如: git add <文件>,git add <文件夹>
所生成的快照被存放到一个临时的存储区域,Git 称该区域为索引。add几个参数说明:
- git add -A 保存所有的修改
- git add . 保存新的添加和修改,但是不包括删除
- git add -u 保存修改和删除,但是不包括新建文件。
提交到本地仓库 git commit
使用git-commit命令可将索引提交至仓库中,这个过程称为提交,每一次提交都意味着版本在进行一次更新。最简单的用法如下:
git commit -m "你的版本更新信息"
如对项目有做删除文件或文件夹的操作,需要用-a参数提交
git commit -am "你的版本更新信息"
提交到远程服务器git push
项目的管理流程 init --> add --> commit --> push;
更新本地工作树git pull
git文档忽略机制.gitignore
其中的 zh 目录存放着 TEX 文档编译时生成的中间文件,因此该目录不应该被Git 所管理。Git 提供了文档忽略机制,可以将工作树中你不希望接受 Git 管理的文档信息写到同一目录下的.gitignore文件中.
cd $WORK
echo "zh" > .gitignore
git add .
有关 gitignore 文件的诸多细节知识可阅读其使用手册:
man gitignore
查看版本历史
git log
想看一下每一次版本的大致变动情况,可使用以下命令:
git log --stat --summary
可查看该次项目版本的更新细节
git show da4b9ce37531bbb43d8187d7a651e228e26f1212
除了使用完整的版本号查看项目版本更新细节之外,也还可以使用以下方式:
git show da4b # 一般只使用版本号的前几个字符即可
git show HEAD # 显示当前分支的最新版本的更新细节
每一个项目版本号通常都对应存在一个父版本号,也就是项目的前一次版本状态。可使用如下命令查看当前项目版本的父版本更新细节:
git show HEAD^ # 查看 HEAD 的父版本更新细节
git show HEAD^^ # 查看 HEAD 的祖父版本更新细节
git show HEAD~4 # 查看 HEAD 的祖父之祖父的版本更新细节
可以对项目版本号进行自定义(添加tag),然后就可以使用自定义的版本号查看对应的项目版本更新细节:
git tag v0.1 dfb02
git show
查看所有tag及注释
git tag -l -n
撤销和恢复
git reset
git-reset 命令有三个选项:--mixed 、 --soft 和 --hard 。我们在日常使用中仅使用前两个选项;第三个选项由于杀伤力太大,容易损坏项目仓库,需谨慎使用。
- --mixed 是 git-reset 的默认选项,它的作用是重置索引内容,将其定位到指定的项目版本,而不改变你的工作树中的所有内容,只是提示你有哪些文件还未更新。
- --soft 选项既不触动索引的位置,也不改变工作树中的任何内容,但是会要求它们处于一个良好的次序之内。该选项会保留你在工作树中的所有更新并使之处于待提交状态。
分支版本切换 git checkout branch_name
git 帮助文档man,help
man git reset
git reset --help
网友评论