Skip to content

Latest commit

 

History

History
58 lines (52 loc) · 3.11 KB

basic.md

File metadata and controls

58 lines (52 loc) · 3.11 KB

git 基础

本章记录基础命令,包括仓库初始化/文件跟踪/暂存/提交/撤销/忽略/历史/推送/拉取/差异

  • git init 初始化一个仓库
  • git add 添加跟踪, 开始跟踪一个文件
  • git rm 取消跟踪,如果文件已添加到暂存区,可以用-f参数强制删除
  • git commit -m "xx" 提交
  • git commit -a 表示已跟踪过的文件自动暂存,一起提交,可以少一步git add步骤
  • git clone url 目录, 克隆一个项目
  • git支持多种数据传输协议:https://; git://; ssh协议,这几种协议的差异后面讨论
  • git status 查看文件状态(未跟踪/未修改/已修改/已暂存)
  • 默认分支名是master
  • .gitignore 忽略文件
  • git diff 查看工作区和暂存区的差异
  • git diff --staged 查看暂存区和仓库的差异
  • git mv file1 file2 修改名字,不过实际上 git mv = mv + git rm + git add
  • git log 查看提交历史
    • git log -p -3 显示每次提交差异,只显示最近两次
    • git log --stat 查看统计信息
    • git log --pretty=oneline 提交数很大时,可将提交放在一行显示
    • git log --pretty=format:"" 指定格式显示
    • 一个变更的作者(将成果完成的人)和提交者(将成果提交到仓库的人)是有区别的
    • git log --graph 形象地显示分支合并历史
    • git log - 显示最近n条提交
    • git log --since --until 按时间筛选
  • git reset HEAD file 取消某文件的暂存
  • git checkout -- file 取消工作区的修改(和最后一次提交同步)

远程仓库的管理:

  • git remote 查看已配置的远程仓库,每个仓库会带一个简写,origin是clone时的默认缩写
  • git remote -v 显示远程仓库缩写,及对应的读写url
  • 在协作中,一般会拥有多个远程仓库
  • git remote add 简写 url 添加远程仓库
  • git fetch 简写 从远程仓库拉取数据(将会拥有远程仓库所有分支的引用,此时并未合并)
  • git push origin master 推送到远程仓库,前提是先拉取合并(push之前若有其他人先push,那本次push会失败)
  • git remote show 简写 查看某一远程仓库的详细信息
  • git remote rename 老简写 新简写 远程仓库简写的重命名
  • git remote rm 简写 在配置中移除一个远程仓库

标签:

  • 给历史的某次提交打上标签,以示重要. 最常用的用法是标记发布节点
  • git tag 列出已有标签
  • git tag -l 'xxx*' 列出xxx开头的标签
  • git tag -a v0.8.0 -m '0.8.0版本' 创建附注标签, -a创建 -m注释
    • git tag -a v1.0.0 -m '1.0版本' 提交号 为指定提交号创建标签
  • git show 标签名 查看标签信息和对应的提交信息
  • git tag v0.9.0 创建轻量标签 不带-a -s -m参数
  • git push origin v0.8.0 显示将标签推送到远程仓库
    • git push origin --tags 将所有标签推送到远程仓库
  • git tag -d 标签名 删除本地标签
  • git push 简写 :refs/tags/标签名 删除远程仓库的标签
  • git checkout 标签名 切换到标签指向的文件版本, 会导致detacthed head
  • git checkout -b 分支名 标签名 从指定标签创建一个新分支

别名:

  • 在git config文件中配置,主要是配置一些命令的简写