Git基础笔记(便查阅)

起步

三种状态

  1. 三种状态

    • 已修改 modified
    • 已暂存 staged
    • 已提交 commited
  2. 三种工作区域

    本地仓库 woking directory 暂存区域 staging area git工作目录 git directory

配置

  1. 权限的作用范围

    • 所有用户 etc/gitconfig

      git config --system ..
      
    • 当前用户 ~/.gitconfig

      git config --global ..
      
    • 当前文件 .git/config

      git config ..
      
  2. 用户信息

    git config --global user.name makaiqian  
    git config --global user.email example@makaiqian.com
    

    曾经,我就在不同的git平台用了同一个用户信息,结果github的。之前一直不懂是为什么:明民提交了,但是github的contributions始终没有亮,原来是信息的原因。这是这次看了文档以后才明白。完全证明了学习基础的重要性。

  3. 查看配置信息

    git config --list
    

    也可以用:

    git config -l
    
  4. 获取帮助

    git .. --help
    

    比如,..可以是config等等,你所不知道想要明白的。


git基础

取得git仓库(两种方法)

  1. 导入所有文件

    • 初始化

      git init
      

      会出现一个.git的目录,存放git所有的数据和资源。

    • 跟踪文件

      git add
      

      比如:git add *.js或者git add README.md等等。

    • 提交文件到暂存区域

      git commit -m ''
      
  2. 从git仓库克隆一个新的镜像仓库

    git clone [url]
    

    如果要指定目录名称

    git clone [url] name
    

记录每次更新到仓库

  1. 检查当前文件的状态

    git status

  2. 忽略某些文件

    cat .gitignore TODO:.gitignore语法规范

  3. 已暂存和未暂存

    git commit只是列出修改过的文件,但是要看文件具体改了什么:

    git diff
    

    仅限没有到暂存区域的文件。

    • 暂存的文件与上一次提交快照的差异:

      git diff --cached
      

      高版本允许用:

      git diff --staged
      
  4. 提交更新到暂存区域

    git commit
    
    • 如果需要附带说明:

      git commit -m ''
      
    • 注意:

      提交是放在暂存区域的快照

    • 跳过暂存区域

      git commit -a
      

      就会跳过git add步骤把所有已经的暂存文件一并提交。

  5. 移除文件

    • 移除已追踪文件清单:

      git rm
      
    • 移除已经在暂存区的文件

      git rm -f
      
    • 移除跟踪但不删除文件

      git rm --cached name

      name是文件名

  6. 移动文件

    git mv file_from file_to
    
    • 改名也可以这么做(比如要改README.md位README)

      git mv REAMDE.md README
      
    • 就相当于这3步:

      mv README.txt README
      git rm README.txt
      git add README
      

查看提交历史

  1. 显示所有的更新,最上面的是最近更新的。

    git log
    
  2. 最近几次的更新

    git log -p -2
    

    最近两次的更新和每次commit的变化

  3. 单词层面上的对比

    git log -p --word-diff
    
  4. 增改行数统计

    git log --stat
    
  5. 其它参数

撤销操作

  1. 修改最后一次提交

    git commit --amend
    
  2. 取消已经暂存的文件

    git reset HEAD <file>
    
  3. 取消对文件的修改

    git checkout -- <file> 
    

    慎用,有风险,很容易误删。

远程仓库的使用

  1. 查看当前远程仓库

    git remote
    

    列出全部的远程仓库:

    git remote -v
    
  2. 添加远程仓库

    git remote add [shortname] [url]
    
  3. 从远程抓取数据

    抓取远程仓库但是本地仓库没有的:

    git fetch ..
    

    fetch后面是对应的仓库地址。

  4. 推送数据到远程仓库

    git push origin master
    
  5. 查看远程仓库信息

    git remote show
    
  6. 远程仓库重命名

    git remote rename mkq1 mkq2
    

    给远程仓库mkq1重命名为mkq2。

  7. 移除远程仓库

    git remote rm mkq1
    

    移除远程仓库mkq1。

  8. 删除远程分支

    git push origin :branchyouwanttodelete

打标签

  1. 列出已有的标签

    git tag
    

    排列方式:字母的顺序

  2. 搜索标签

    git tag -l '*0.0.1'    
    
  3. 新建标签

    • 含标注的标签

      git tag -a v1.4 -m 'my version 1.4'
      git show
      git show version
      
    • 轻量级标签

      git tag v0.0.1
      
    • 后期加注标签

      git tag -a v1.2 9fceb02
      
  4. 分享标签

    git push origin v0.0.1
    

    一次推送所有

    git push origin --tags
    

麻凯倩

微信:makaiqian