您的位置:首页 > 其它

git教程收集

2016-02-01 18:46 274 查看
一、git常用命令
工作区,暂存区和版本库之间的关系
工作区:我们会想当然的认为,当前仓库所在目录就是我们的工作区,其实这是不完全正确的。在当前仓库中,新增,更改,删除文件这些动作,都发生在工作区里面。

暂存区:英文叫stage, 或index。在版本库.git)目录下,有一个index文件。它实际上就是一个包含文件索引的目录树,像是一个虚拟的工作区。在这个虚拟工作区的目录树中,记录了文件名、文件的状态信息(时间戳、文件长度等),文件的内容并不存储其中,而是保存在Git对象库(.git/objects)中,文件索引建立了文件和对象库中对象实体之间的对应。如果当前仓库,有文件更新,并且使用git
add 命令,那么这些更新就会出现在暂存区中。

版本库:当前仓库下,如果没有任何的提交,那么版本库就是对应上次提交后的内容。下面这个图展示了工作区、版本库中的暂存区和版本库之间的关系。

mkdir path_dir: 创建一个空目录 path_dir指目录名
pwd: 显示当前目录的路径。
ls或ll 显示当前路径文件
git add XX 把xx文件添加到暂存区去。
git commit –m “XX” 提交文件 –m 后面的是注释。
git status 查看仓库状态

git diff XX 查看XX文件修改了那些内容
git diff 和 git diff --cached容易混淆
git diff 比较的是工作区和暂存区的差别
git diff --cached 比较的是暂存区和版本库的差别
git diff HEAD 可以查看工作区和版本库的差别
每次commit后,git diff --cached没有内容,是因为暂存区的内容已经更新到版本库中,因此暂存区和版本库中的内容无差别

git log 查看历史记录
git reset –hard HEAD^ 或者 git reset –hard HEAD~ 回退到上一个版本
(第一种是:git reset –hard HEAD^ 那么如果要回退到上上个版本只需把HEAD^ 改成 HEAD^^ 以此类推。那如果要回退到前100个版本的话,使用上面的方法肯定不方便,我们可以使用下面的简便命令操作:git reset –hard HEAD~100 即可 )

cat XX 查看XX文件内容
git reflog 查看历史记录的版本号id(git reset –hard 版本号)

git checkout — XX 把XX文件在工作区的修改全部撤销。
当执行git checkout .或git checkout -- 命令是,会用暂存区全部的文件或指定的文件替换工作区的文件。这个操作很危险,会清楚工作区中未添加到暂存区的改动。
当执行git checkout HEAD .或git checkout HEAD 命令时,会用HEAD指向的master分支中的全部或部分文件替换暂存区和工作区中的文件。这个命令也是极度危险的。因为不但会清楚工作区中未提交的改动,也会清楚暂存区中未提交的改动。

git rm XX 删除XX文件
当执行git rm --cached 命令时,会直接从暂存区删除文件,工作区则不做出改变。

git push 推送到远程库
git pull 拉取远程库最新数据
git clone https://github.com/tugenhua0707/testgit 从远程库中克隆
二、git详细教程以及Markdown语法(从网上收集,有时间可以看看)

手把手教你使用Git http://blog.jobbole.com/78960/ Git教程 http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 Git 版本管理工具(一)http://blog.csdn.net/sunboy_2050/article/details/7527877
Git 版本管理工具(二)http://blog.csdn.net/sunboy_2050/article/details/7529022
Git 版本管理工具(三)http://blog.csdn.net/sunboy_2050/article/details/7529841
Markdown——入门指南 http://www.jianshu.com/p/1e402922ee32/ markdown 简明语法 http://ibruce.info/2013/11/26/markdown/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  教程 gitlab