git 版本控制1.0
一. git 常用命令
1. 命令行配置全局的用户信息,也可以直接在配置文件下编辑(window 默认文件:C:\Users\Administrator\.gitconfig)
git config --global user.name "runoob" git config --global user.email test@runoob.com
2.查看默认配置信息
git config --list
3.查看 git 版本信息
git --version
4.克隆远程代码
git clone git://github.com/schacon/grit.git
5.分支管理
查看本地分支以及远程分支
git branch -a
删除本地分支 dev (-D 是强制删除)
git branch -d dev
使用远程分支 hotfix (clone 默认 master分支,需要使用远程其他分支,创建本地分支并映射到远程分支 hotfix )
git checkout -b hotfix origin/hotfix
删除远程分支
git push origin --delete [branchname]
基于 hotfix 创建新的分支
git checkout hotfix
git checkout -b hotfix_bz
创建远程分支 hotfix_bz (本地创建分支,远程不存在提交就会创建该远程分支)
git checkout hotfix_bz
git push origin master
6.提交日志
git log
git log --oneline //简洁版
7.查看当前分支状态
git status
8.查看当前分支修改内容
git diff
9.查看远程仓库地址
git remote -v
二、高级应用-变基
场景一
dev 与 master 都在 c1 节点,只有 dev 修改
上图说明:
- dev 与 master 都在 C1 节点,dev 提交了新的修改 C2
- 此时 master 还无法看到新的修改,在 master 分支执执行 merge dev ,即将 master 指针移动到 dev 当前位置
场景二
dev 与 master 都有新的提交
上图说明:
- dev 与 master 都在 c1 的基础上进行了新的提交
- 切换到 master分支, 执行 merge dev ,将会产生 C4 merge 快照,同时 master 指针指向 C4
- dev 仍然在 C2 出,是无法看到 master 已经进行了 merge .此时 dev 进行 merge master ,将 dev 指针移动到 C4
场景三- rebase
在场景二采用 merge ,如果 maser 采用 rebase dev
上图说明:
- rebase 将不产生新的节点 C4 ,而是将 C3 的修改同步到 dev 分支,并产生新的快照 C3` ,同时删除 C3
- 此时 dev 分支 merge master 将指针移动到 c3` ,产生的记录将是一条直线