美文网首页
ProGit读书笔记-1.Git基础

ProGit读书笔记-1.Git基础

作者: Sacowiw | 来源:发表于2016-06-06 15:11 被阅读11次

    取得项目的Git仓库


    初始化
    $ git init
    
    添加文件
    $ git add *.c
    $ git add README
    $ git commit -m “初次提交"
    
    克隆
    $ git clone
    

    记录每次更新到仓库


    查看文件状态
    $ git status
    
    跟踪新文件
    $ git add  //如果此文件已经add过,再执行此命令文件将被放到暂存区,执行后又修改文件然后提交,被提交的是add后的文件,修改的文件不会被提交,除非再次执行add
    
    忽略文件

    # 此为注释 – 将被 Git 忽略
    # 忽略所有 .a 结尾的文件
    *.a
    # 但 lib.a 除外
    !lib.a
    # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
    /TODO
    # 忽略 build/ 目录下的所有文件
    build/
    # 会忽略 doc/notes.txt 但不括 doc/server/arch.txt
    doc/*.txt
    # ignore all .txt files in the doc/ directory
    doc/**/*.txt

    查看已暂存和未暂存的文件
    $ git diff 查看未暂存的文件和已暂存文件的差别
    $ git diff --cached (--staged)  查看已暂存和上次提交文件的差别
    
    提交
    $ git commit -m
    $ git commit -m -a 跳过暂存区,直接把修改过的文件提交
    
    移除文件
    $ git rm 从跟踪清单移除文件连同工作目录的文件也会被删除
    $ git rm -f 从暂存区和工作目录移除文件
    $ git rm \*~ 移除所有以~结尾的文件
    $ git rm —-cached  从仓库、跟踪列表、暂存区但是工作目录的文件不会删除
    
    重命名文件
    $ git mv file_from file_to
    等同于
    $ git mv README.txt README
    $ git rm README.txt
    $ git add README  
    
    查看提交历史
    $ git log 会列出所有更新记录
    $ git log -p -2 展开2条详细的更新记录
    $ git log -p —-word-diff -U1 对比单词级别的差距,U1代表上下文的行为1行
    $ git log —-stat 仅显示简要的增删行数
    $ git log —-pretty=oneline|short|full|fuller 指定不同格式来展示提交记录
    $ git log --pretty=format:"%h - %an, %ar : %s” 格式化显示文本
    
    选项 说明
    -p 按补丁格式显示每个更新之间的差异。
    --word-diff 按 word diff 格式显示差异。
    --stat 显示每次更新的文件修改统计信息。
    --shortstat 只显示 --stat 中最后的行数修改添加移除统计。
    --name-only 仅在提交信息后显示已修改的文件清单。
    --name-status 显示新增、修改、删除的文件清单。
    --abbrev-commit 仅显示 SHA-1 的前几个字符,而非所有的 40 个字符。
    --relative-date 使用较短的相对时间显示(比如,“2 weeks ago”)。
    --graph 显示 ASCII 图形表示的分支合并历史。
    --pretty 使用其他格式显示历史提交信息。可用的选项包括 oneline,short,full,fuller 和 format(后跟指定格式)。
    --oneline --pretty=oneline --abbrev-commit的简化用法。

    撤销操作


    修改最后一次提交
    $ git commit --amend
    
    取消已暂存的文件
    $ git reset HEAD <file>… 取消暂存文件
    
    撤销修改
    $ git checkout --<file>… 取消某个文件的修改
    

    远程仓库的使用


    查看远程仓库
    $ git remote 列出每个远程仓库远程名字
    $ git remote -v 显示每个远程仓库对应的克隆地址
    
    添加远程仓库
    $ git remote add [shortname] [url]
    
    从远程仓库抓取数据
    $ git fetch [remote-name]
    
    推送到远程仓库
    $ git push [remote-name] [branch-name]
    
    显示远程仓库信息
    $ git remote show [remote-name]
    
    重命名远程名字
    $ git remote rename [name] [ toname]
    
    删除远程仓库
    $ git remote rm [remotename]
    

    打标签


    列出已有标签
    $ git tag
    $ git tag -l “v1.2.*” 列出V1.2系列的标签
    
    新建标签
    • 轻量级 :它就是个指向特定提交对象的引用
    • 含附注 :存储在仓库中的一个独立对象,它有自身的校验和信息,包含着标签的名字,电子邮件地址和日期,以及标签说明,标签本身也允许使用 GNU Privacy Guard (GPG) 来签署或验证。
    $ git tag -a v1.4 -m 'my version 1.4' 含附注的标签 -m指定了对应标签的说明
    $ git show v1.4 查看该标签的说明
    $ git tag -s v1.5 -m 'my signed 1.5 tag' 用GPG签署标签
    $ git tag v1.4 新建一个轻量级标签
    
    验证标签
    $ git tag -v [tag-name] 验证标签
    
    后期添加标签
    $ git tag -a v1.4 fedg2
    
    分享标签
    $ git push origin [tagname]
    $ git push origin --tags  推送所有标签到远程仓库
    

    技巧和窍门


    Git 命令别名
    $ git config --global alias.co checkout 用checkout的别名为co

    相关文章

      网友评论

          本文标题:ProGit读书笔记-1.Git基础

          本文链接:https://www.haomeiwen.com/subject/znardttx.html