0、git架构
- 版本库:工作区的一个隐藏目录
.git
,这个目录是git的版本库
,归git管理- 暂存区:版本库中包含一个临时区域,保存下一步要提交的文件
- 分支:版本库包含若干分支,提交的文件存储在分支中
1、仓库
- 本地的一个
目录
,目录下的文件都被git管理
- 新建仓库,生成
.git
git init
- 查看当前工作状态
git status
- 跟踪工作区文件,添加到暂存区
git add .
- 提交文件到分支
git commit -m "提交必填描述信息"
- 版本回退
git log #详细提交点信息
git reset --hard ID
2、远程仓库
- 关联远程仓库
git remote add origin(`远程仓库标识`) http://gitee.com/test.git(`远程仓库地址`)
- 推送远程仓库(输入账号,密码)
git push origin(`远程仓库标识`) master
- 远程仓库共享
克隆
git clone http://gitee.com/test.git(`远程仓库地址`)
- 拉取远程仓库
git pull origin(`远程仓库标识`) master
3、分支
分支,是一个个版本最终存储的位置。
每次
git commit
就会形成一个版本,各个版本依次存储在分支的一个个提交点上。
1、分支的基本操作
- 查看分支
git branch
- 创建分支
git branch dev
- 切换分支
git checkout dev
2、新建分支
- 分支的初始内容
- 每一个分支都有一个
指针
,新建一个分支相当于新建一个指针,新分支回合当前分支指向同一个提交点- 新分支包含的提交点是从第一个提交点到分支指针指向的提交点
- 多分支走向
- master分支:主要版本,提交稳定版本
- dev:开发版本,很多不确定性可多次提交回退
- 分支提交日志
git log --oneline #当前分支的提交点查看
git log #详细提交点信息
3、分支合并
git merge dev
-
快速合并(Fast-forward)
主分支无提交,dev分支提交:快速合并是将主分支指针直接指向dev分支最新提交点
-
三方合并
【分支起始点】+【master分支最新提交点】+【dev分支最新提交点】:合并成master分支的一个新的提交点
-
合并冲突:不同分支对同一个文件改动(
conflict
)-
<<<<<<< ======== >>>>>>>>
分隔开两个版本, -
手动确定版本改动在提交
-
4、多人协同
每次push前,先pul远程代码。
- 把远程最新内容合并到本地
- 核实本地内容是否与远程内容有冲突。
5、权限失效
打开windows控制面板>>>所有控制面板项>>>凭据管理器>>>windows凭据
删除原先的远程仓库的账号密码,再push时重新输入远程仓库的账号密码。