首先咱们会使用 git init
, 建立一个仓库. 这个仓库会存放咱们之后提交的每个版本的库即(版本库)git
工做区 fetch
git init
下的文件夹的全部目录及文件,但不包括.git
目录下的文件url
暂存区(stage or index)spa
git add
, 添加的文件或文件夹, 暂存区属于版本库存储的一块区域. 注意:暂存区的文件只属于该分之下的暂存,若是没有执行commit
操做, 则不容许切换分支.3d
版本库
版本库包含暂存区及分支, 当使用git commit
将暂存区的文件提交到仓库里, 暂存区的文件就会清空,生成一个 commit id
进入版本库中.code
一个git
仓库通常会建有多个分支, 以便并行开发. HEAD
表示当前分支的指向.
使用git checkout -b dev
当前的 HEAD
指向 dev
分支blog
git checkout -- filename
(前提, filename 已在仓库中)开发
git reset HEAD -- filename
rem
git reset commit_id
, 修改的内容都处于工做区状态git reset --soft commit_id
, 修改的内容都处于暂存区状态git reset --hard commit_id
, 版本库彻底替换工做区get
git branch dev master
从 master
分支下建立 dev
分支git branch -m dev DEV
修改 dev
分支名称为 DEV
分支git diff master dev
比较两个分支的文件内容变化
git checkout branch_name
切换分支git checkout branch_name --force
强制切换分支, 修改的工做区不会被清除git checkout -b local_branch
从当前分支开启新分支git checkout -b local_branch origin/remote_branch
从远程分支remote_branch
拉取到本地local_branch
, 而后切换到local_branch
, 而且创建映射关系git checkout branch_name -- filename
从别的分支拉取文件到本的分支指定文件
git fetch --all
获取全部远程全部分支到本地仓库git fetch branch_name
获取远程单独分支到本地仓库git fetch branch_name:local_name
获取远程分支到本地仓库, 而且建立一个对应的本地local_name
分支, 不创建映射关系
git push origin master
将本地的master
推到远程master
分支git push origin :dev
删除远程分支dev
git push origin dev:master
将本地的dev
推到远程master
分支
git diff
当前工做区
与 暂存区
的变化比较git diff HEAD
当前 工做区+暂存区
与 最后一次提交
的变化比较git diff branch_a branch_b
比较两个分支的 HEAD
git log
默认不用任何参数的话,git log 会按提交时间列出全部的更新,最近的更新排在最上面git log -p
展开显示每次提交的内容差别git log -[number]
展现最近 number
次的提交信息git log --stat
展现每次提交的内容变化文件的增长删除的行数git log --shortstat
只显示 --stat 中最后的行数修改添加移除统计git log --name-only
只显示修改的文件git log --name-status
显示修改文件的状态 [A|M|D]
格式化参数git log --pretty=[short|full|fuller|oneline]
修改log输出的样式git log --abbrev-commit
只显示部分commit_id
git log --relative-date
现实距离当前的时间格式, 如 1 minutes ago
git log --graph
显示 ASCII 图形表示的分支合并历史
git config --global user.name xxx
设置git用户的名称git config --global user.mail xxx
设置git用户的的邮箱git config --global core.autocrlf true|input|false
true
表示检查是转换为当前系统的回车换行lf
or crlf
, false
表示不检查, input
表示输入时转换lf
, 输出不检查
git show [commit_id|HEAD] --name-only
查看某一次commit 修改的文件列表
git config --global
设置全局 git
用户配置 ~/.gitconfig
git config --local
设置本地 git
配置, .git/config
git config --global user.name
输入用户名git config --global user.email
输入邮箱
git remote add origin url
添加远程 origin 仓库地址git remote rename origin old-origin
修改远程分支名称git remote remove origin
删除远程origin仓库的地址git remote get-url origin
获取远程origin仓库的地址
git rev-parse HEAD
查看当前分支的版本库的 commit id
git rev-parse HEAD --short
查看当前分支的版本库的短commit id
git rev-parse branch_name
查看某一个分支的commit id