您的位置:首页 > 其它

Git学习整理

2017-03-12 22:54 218 查看

写在前面

最近在学习廖老师关于Git教程的文章,觉的很棒,在此记录下,备忘Git教程

关于版本控制系统(简单整理)

集中式:SVN

版本库集中存放在中央服务器中,干活的时候,先从服务器中获取最新的版本—》修改后—》提交到中央服务器中

优势:使用简单。有权限配置,方便管理员找那个空每个开发者的权限。(不知道这算不)

劣势:必须联网,网速慢简直就灾难。当然,中央服务器宕机的话,也就无法协同工作了

分布式:Git

每个人的电脑上都是一个完整的版本,可以在不联网的情况下对版本库使用

优势:对于版本库的修改不必联网解决,具有强大的分支管理,此外还有很多

劣势:使用难度较大

Git安装

关于安装请参考教程与官网,或自行谷歌百度

重要命令整理

查看帮助文档:git help

最常用的 git 命令有:

add
添加文件内容至索引


bisect
通过二分查找定位引入 bug 的变更


branch
列出、创建或删除分支


checkout
检出一个分支或路径到工作区


clone
克隆一个版本库到一个新目录


commit
记录变更到版本库


diff
显示提交之间、提交和工作区之间等的差异


fetch
从另外一个版本库下载对象和引用


grep
输出和模式匹配的行


init
创建一个空的 Git 版本库或重新初始化一个已存在的版本库


log
显示提交日志


merge
合并两个或更多开发历史


mv
移动或重命名一个文件、目录或符号链接


pull
获取并合并另外的版本库或一个本地分支


push
更新远程引用和相关的对象


rebase
本地提交转移至更新后的上游分支中


reset
重置当前HEAD到指定状态


rm
从工作区和索引中删除文件


show
显示各种类型的对象


status
显示工作区状态


tag
创建、列出、删除或校验一个GPG签名的 tag 对象


命令 ‘git help -a’ 和 ‘git help -g’ 显示可用的子命令和一些指南。参见‘git help <命令>’ 或 ‘git help <指南>’ 来查看给定的子命令帮助或指南。

常用命令用法

Git安装好后,设置用户的姓名和邮箱(为保证提交时提交者和作者信息的正确性):

git config –global user.name “xxx”

git config –global user.email “xxx@xxx.com”

初始化仓库(将当前目录生成版本库)

git init

添加文件到暂缓区

git add 文件名

提交文件到版本库

git commit -m ‘说明信息’

状态查询

git status

查看尚未暂存的文件更新部分,不加参数

git diff

命令释义
git diff 文件名查看工作区内指定文件修改的内容
git diff –stat以简单的结果输出不同内容
git diff –cached查看已经暂存起来的文件和上次提交时文件的差异
git diff HEAD比较工作区与提交的版本库的区别
git diff HEAD^比较工作区与上次提交的区别
git diff 版本号1 版本号2比较提交的两个版本间的区别
查看提交的历史信息

git log

只显示当前分支下commit记录

命令释义
git log -n(正整数)查看最近n次提交历史记录
git log file查看指定文件的提交记录,file可以是标签、分支等
git log 版本号查看指定版本包括commit的详细记录
git log –pretty=oneline单行显示提交历史信息
git log -p -n查看最近N次提交的差别
–graph以简单的图形方式列出提交记录
–author=someone查询指定作者的提交记录
关于format的格式参数

父对象(parent)的完整哈希字串
参数释义
%H提交对象(commit)的完整哈希字串
%h提交对象的简短哈希字串
%T树对象(tree)的完整哈希字串
%t树对象的简短哈希字串
%P
%p父对象的简短哈希字串
%an作者(author)的名字
%ae作者的电子邮件地址
%ad作者修订日期(可以用 -date= 选项定制格式)
%ar作者修订日期,按多久以前的方式显示
%cn提交者(committer)的名字
%ce提交者的电子邮件地址
%cd提交日期
%cr提交日期,按多久以前的方式显示
%s提交说明
例如:$ git log –pretty=format:”%an %ae %ad %cn %ce %cd %cr %s” –graph

撤销操作

git reset

取消git add<文件>到暂存区的更改,工作区不受影响

命令释义
git reset HEAD同git reset
git reset – filename将文件filename撤出暂存区
git reset HEAD filename同上
git reset –soft HEAD^git commit 的逆操作
git reset HEAD^工作区不变,暂存区会回退到上次提交之前
git reset –mixed HEAD^同上,–mixed可忽略
git reset –head HEAD^彻底回退到之前一次提交
git reset –head 版本号回退到指定版本
git checkout – filename 撤销工作区的修改

查看整个本地存储所有的操作记录

git reflog

–relative-date 显示相对时间

删除命令,最后需提交到版本库

git rm

未完待续!

参考

http://www.cnblogs.com/gbyukg/archive/2011/12/12/2285419.html

http://blog.csdn.net/dbzhang800/article/details/6418215

http://www.cnblogs.com/wish123/p/3963224.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: