一、工作区、暂存区、版本库、远程库

  • 工作区:电脑里能看到的目录,本地硬盘目录
  • 暂存区Stage:一般存放在".git目录" 下的index文件(.git/index)中,git add 的文件,把文件修改添加到暂存区
  • 版本库Repository:版本库又名仓库,英文名repository,你可以简单的理解一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改,删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻还可以将文件”还原”。 使用git init即可创建一个版本库 工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。git中的head/master是分支,是版本库。 git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。
  • 远程库Origin:和版本库对应
  • 下面这个图展示了工作区、版本库中的暂存区和版本库之间的关系:

二、团队协作git操作流程: 克隆一个全新的项目,完成新功能并且提交:

  1. git clone XXX //克隆代码库
  2. git checkout -b test //新建分支
  3. modify some files //完成修改
  4. git add . //把修改加入stage中
  5. git commit -m '' //提交修改到test分支
  6. review代码
  7. git checkout master //切换到master分支
  8. git pull //更新代码
  9. git checkout test //切换到test分支
  10. git meger master //把master分支的代码merge到test分支
  11. git push origin 分支名//把test分支的代码push到远程库

目前正在test分支上面开发某个功能,但是没有完成。突然一个紧急的bug需要处理

  1. git add .
  2. git stash
  3. git checkout bugFixBranch
  4. git pull --rebase origin master
  5. fix the bug
  6. git add .
  7. git commit -m ''
  8. git push
  9. git checkout test
  10. git stash pop
  11. continue new feature's development