Git学习整理

写在前面

最近在学习廖老师关于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的格式参数

    参数释义
    %H提交对象(commit)的完整哈希字串
    %h提交对象的简短哈希字串
    %T树对象(tree)的完整哈希字串
    %t树对象的简短哈希字串
    %P父对象(parent)的完整哈希字串
    %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

未完待续!

参考


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值