training 1 Git介绍
1. Git是分布式版本管理系统。
每个人机器上都有一个版本库。
* git的几个基本特征和概念
分布式:本地有仓库,服务器上也有仓库,工作区根目录中的.git目录就是仓库。
仓库之间在物理上是平等的,本地的仓库并不比服务器上的仓库缺少什么。
实际使用时会通过服务器上的公共仓库进行代码的合并和管理。通过远程分支进行关联(git remote)和交互(git fetch, git pull, git push)。
commit: 每次提交,产生一个唯一的commit,由40位的SHA1字符串标示
分支: git的分支是真正的分支。而不是像svn那样是一个copy。分支本质上是一个指针,指向某个提交id。
本机版本库和远程版本库进行交互。
* git的几个基本特征和概念
分布式:本地有仓库,服务器上也有仓库,工作区根目录中的.git目录就是仓库。
仓库之间在物理上是平等的,本地的仓库并不比服务器上的仓库缺少什么。
实际使用时会通过服务器上的公共仓库进行代码的合并和管理。通过远程分支进行关联(git remote)和交互(git fetch, git pull, git push)。
暂存区:也叫index或stage。工作区中做的修改,在提交到仓库(git commit)之前,要先放到暂存区中(git add)。
commit: 每次提交,产生一个唯一的commit,由40位的SHA1字符串标示
分支: git的分支是真正的分支。而不是像svn那样是一个copy。分支本质上是一个指针,指向某个提交id。
工作区:当前的工作目录,对应与
2. Git工作区和版本库
3. Git暂存区
4. Git对象:blob, tree, commit, tag
git cat-file -p xxx
git log --pretty=raw --graph
Git原理:跟踪内容而不是文件
5. Git ref:
HEAD, master, refs/heads/master
training 2 Git 本地版本库基本操作
0. git config
1. git init
2. git add
3. git diff
4. git commit
5. git log
6. git reflog
7. git checkout
8. git reset
training 3 Git 分支
1. git branch
2. git merge
3. git rebase
4. git checkout
training 4 Git Tag
training 5 Git remote 远程库交互
1. git clone
2. git fetch, git pull
3. git push
4. git remote
5. git ls-remote
training 6 Git 经典协作模式
1. master 主分支
2. develope 开发主分支
3. feature 分支
4. release 分支
5. hotfix 分支
training 7 Git submodule
1. 和svn external link的区别
2. submodule add
3. clone后还需要init 和 update
4. submodule的实现细节:.submodule和子工作区。git submodule查看子模块状态
5. submodule是固定提交id的clone
6. 基于tag更新submodule提交id