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` ,产生的记录将是一条直线
posted @ 2019-09-29 11:34  byebai95  阅读(1317)  评论(0编辑  收藏  举报