一、Git配置

1.查看配置信息

  1. git config --list

2.Git用户信息

  1. git config --global user.name "xxx"
  2. git config --global user.email "xxx@xx.com"

3.文件编辑器

  1. git config --global core.editor emacs

4.差异化分析工具

  1. git config --global merge.tool vimdiff

二、Git对文件的管理

1.获得Git仓库两种途径

1.新建Git仓库

  1. #1.初始化新的仓库
  2. git init
  3. #2.跟踪所有文件
  4. git add *

2.克隆一个仓库

  1. git clone [url]

Git管理文件变化周期: untracked unmodified modified staged
Git - 图1

1.查看文件状态

  1. git status

2.添加 追踪/暂存 文件

  1. git add xxx

3.提交本地仓库

  1. git commit -m '描述'
  2. #跳过暂存直接提交到本地仓库
  3. git commit -a -m '描述'

4.从追踪清单删除

  1. #1.删除文件和追踪清单
  2. git rm xxx
  3. #2.仅删除追踪清单
  4. git rm --cache xxxx

5.文件改名

  1. git mv xxx_from xxx_to

撤销操作

1.重新提交

  1. git commit -amend
  2. #重新commit,覆盖上一次commit
  3. git commit --amend -m commit描述信息”

2.取消已暂存的文件

  1. git reset HEAD xxx

3.取消对文件的修改

  1. git checkout xxxx

三、远程仓库管理

1.克隆远程仓库到本地仓库

  1. git clone [url]
  2. git clone git@github.com:jirengu/blog.git

2.查看当前的远程库

  1. #远程仓库简短名
  2. git remote
  3. #显示克隆地址
  4. git remote -v

2.添加远程仓库

  1. #添加远程库,并指定一个简短名
  2. git remote add [remote-name] [url]

3.从远程仓库抓取数据

  1. git fetch [remote-name]

4.推送数据到远程仓库

  1. git push [remote-name] [branch-name]

5.查看远程仓库信息

  1. git remote show [remote-name]

6.远程仓库的删除和重命名

  1. git remote rm [remote-name]
  2. #或者
  3. git remote rename [remote-name] [new-remote-name]

四、分支管理

1.查看分支

  1. git branch
  2. #本地和远程分支
  3. git branch -a

2.创建和切换分支

  1. #1.创建分支
  2. git branch [branch-name]
  3. #2.切换分支
  4. git checkout [branch-name]
  5. #或者
  6. #创建并切换分支
  7. git checkout -b [branch-name]

3.合并分支

  1. #切换分支
  2. git checkout master
  3. #将hotfix分支合并到master分支
  4. git merge hotfix

4.合并分支冲突,解决冲突办法就是二选一

  1. #1.查看冲突文件
  2. git status
  3. #2.手动修改合并冲突文件
  4. git mergetool
  5. #3.提交缓存
  6. git add
  7. #4.提交
  8. git commit -m 'xxxx'
  9. #5.合并
  10. git merge hotfix

5.查看与当前分支(未)合并的分支

  1. git branch --mereged
  2. git branch --no-mereged

6.删除分支

  1. git branch -d xxxx
  2. #强制删除
  3. git branch -D xxxx
  4. #批量删除本地分支
  5. git branch | grep -E 'fixbug|feature' | xargs git branch -D

7.分支回退到某次commit

  1. #本地分支回退到上N次提交
  2. git reset --hard HEAD~2
  3. git reset --hard HEAD~N
  4. #本地分支回退到 指定commit的sha码
  5. git reset --hard commit_id
  6. #加入-f参数,强制提交到远程仓库,将远程分支回退到reset版本
  7. git push -f origin release-0.1.0
  8. git push -f origin release-0.11.5

五、远程分支

1.克隆远程仓库到本地仓库

  1. git clone [url]

2.从远程仓库抓取数据

  1. git fetch [remote-name]

3.推送本地分支

  1. git push [remote-name] [branch-name]
  2. git push [remote-name] [branch-name-local]:[branch-name-remote]

4.追踪远程分支

  1. git checkout -b [branch-name-local] [remote-name]/[branch-name-remote]

5.本地关联远程分支

  1. git branch --set-upstream-to=[remote-name]/[branch-name-remote] [branch-name-local]

6.删除远程分支

  1. git push [remote-name]:[branch-name-remote]