目录
应用场景
- 备份
- 代码还原
- 协同开发
- 追溯问题代码的编写人和编写时间
版本控制器的方式
集中式版本控制工具
- SVN
- CVS
分布式版本控制工具
Git
git工作流程
- Git GUI:Git提供的图形界面工具
- Git Bash:Git提供的命令行工具
基本配置
设置用户信息
git config-global user.name ''
git config-global user.email ''
查看配置信息
git config-global user.name
git config-global user.email
获取本地仓库
- 创建空目录
- 在git bash中执行 git init
- 出现.git隐藏文件成功
基础操作指令
添加工作区到暂存区add
- git add
添加所有到暂存区
git add .
提交暂存区到本地仓库
git commit
git commit -m '注释'
查看修改的状态status
- git status 查看状态
查看提交日志log
- git log
git log [option]
- -all 显示所有分支
- -pretty=oneline 将提交信息显示为一行
- -bbrev-commit 使得输出的commit更简短
- -graph 以图的形式显示
版本回退
版本切换
git reset --hard commitID
查看已删除的提交记录
git reflog
添加文件至忽略列表
创建一个.gitignore文件
git分支常用指令
分支可以把工作从主线开发上分离出来
查看分支
git branch
创建分支
git branch 分支名
切换分支
git checkout分支名
合并分支
git merge 分支名
删除分支
git branch -d b1 删除分支时做各种检查
git branch _D b1 强制删除
解除分支
两个分支修改了同一文件的同一行时会产生冲突
- 处理文件中冲突的地方
- add commit
开发中分支使用的原则和流程
- master 分支
线上分支
- develop分支
开发分支,修改bug
git远程仓库
常用的托管服务(远程仓库)
- github
- 码云:国内的代码托管平台,速度较快
- gitlib
配置ssh公钥(码云
生产公钥
ssh-keygen -t rsa
获取公钥
cat -/.ssh/id_rsa.pub
验证是否配置成功
添加远程仓库
git remote add origin(仓库名字) 仓库路径
查看远程仓库
git remote
本地代码同步远程仓库
- -f 强制覆盖
- --set-upstream 绑定关系
git push -f origin 本地分支名:远端分支名
克隆 从原地仓库拉到本地
git clone 仓库地址 文件夹名字
从远程仓库中抓取和拉取
抓取:抓取远程仓库的更新到本地但不会合并
git fetch 远程仓库 分支名
拉取:将远程仓库的修改拉到本地并自动进行合并
等同于fetch+merge
git pull 远程仓库 分支名