git笔记

来源:互联网 发布:2016年淘宝刷单权重 编辑:程序博客网 时间:2024/05/24 05:32

参考

Git Book
廖雪峰Git教程

Git

  • Git直接记录快照,而非差异比较
  • 三个区域
    • 工作区(Working Directory)
      • 可写文件目录
    • 暂存区域(Staging Area)
      • git add
    • 版本库(Repository)
      • .git目录,git commit
  • 文件的三个状态
    • 已提交(committed)
      • 表示数据已经安全的保存在本地数据库中
    • 已修改(modified)
      • 表示修改了文件,但还没保存到数据库中
    • 已暂存(staged)
      • 表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中

命令

配置

参考:初次运行 Git 前的配置

  • --system:系统上每一个用户及他们仓库的通用配置,/etc/config下文件(Windows操作系统配置在[Git安装目录]\mingw64\etc\gitconfig文件)
  • --global: 当前用户的全局配置,~/.gitconfig~/.config/git/config文件(Windows操作系统配置在$HOME 目录下的.gitconfig文件,如一般情况下是 C:\Users\$USER\.gitconfig
  • 当前所使用仓库: Git 目录中的 config 文件.git/config
# 查看当前用户(全局)配置git config --global user.namegit config --global user.email# 查看所有配置git config --list# 设置当前用户(全局)配置git config --global user.name "rayluoluo"git config --global user.email "xxx@xx.com"
  • Windows命令git config --list配置来源:
    1. C:\ProgramData\Git\config文件
    2. [Git安装目录]\mingw64\etc\gitconfig文件
    3. [用户目录]\.gitconfig文件
    4. 仓库目录下.git/config文件

创建目录和版本仓库

# 新建文件夹$ mkdir helloworld$ cd helloworld# 初始化版本库git init

添加文件到版本库

# 添加到仓库暂存区git add readme.md# 添加到版本库git commit -m "initial commit"

查询日志

# 查看提交日志git log# 仅显示最近两次提交git log -2# 显示每次提交的内容差异git log -p# 显示命令日志git reflog

撤销操作

参考:Git 基础 - 撤消操作

# 两次提交合为一次git commit -amend# 撤销Untracked files的修改(文件-f和文件夹-d)git clean -fd# 查看要撤销修改的Untracked filesgit clean -nfd# 撤销Changes to be committedgit rm --cached <file>...# 撤销Changes not staged for commitgit checkout -- .# 回退代码版本git reset HEAD^git reset --head HEAD^git reset <commit-id>

解决代码更新冲突

提交代码

  • git push -u
    git push 的 -u 参数具体适合含义