美文网首页
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基础

    取得项目的Git仓库 初始化 添加文件 克隆 记录每次更新到仓库 查看文件状态 跟踪新文件 忽略文件 # 此为注释...

  • ProGit 读书笔记

    Table of Contents 一、记录每次更新到仓库* 移除文件 二、查看提交历史* 限制输出长度 三、撤消...

  • Git常用命令

    本篇是根据ProGit整理的常用Git命令,注释比较简单,如需详细了解Git,请阅读ProGit。 状态检查 标签...

  • ProGit读书笔记-2.Git分支

    分支的新建与合并 分支的新建与合并 分支的合并 删除分支 分支的管理 远程分支 远程分支 (远程仓库名)/(分支名...

  • Git简单使用

    总结自廖雪峰的博客 更详细的教程可以学习proGit

  • git命令总结

    http://git.oschina.net/progit/ https://git-scm.com/book/z...

  • GIT FLOW架构

    1.GIT传统开发模式 1.1 基础 GIT开发有三层框架体系:(1)Main Repository(2)Deve...

  • progit读书笔记-git常用命令

    这篇文章主要站在用户的角度,在实际使用过程中常见git的命令 git remote - 管理远程仓库 示例 git...

  • git入门(一)

    1.Git基础入门 本文参考:https://git-scm.com/ 1.0 git的三种状态 未修改,已修改,...

  • git 团队开发命令行

    进入要建立共享仓库的文件夹1.git init --bare (建立基础共享库) 11.冲突 先git pull ...

网友评论

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

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