目录
1、了解Git功能
- Git是分布式版本控制工具
- 分布式表示每个人的电脑都是服务器,客户端可以代码仓库的完整镜像
- 版本控制表示随时通过提交,记录项目内容变化,并随时能切换到变化前内容
- 工作机制如图
2、第一次使用Git(首次配置好,后续不用再操作)
打开git后端
找到对应文件夹下,鼠标右键 选择open git bash here,打开界面如下
设置用户签名
git config --global user.name 你的名字
git config --global user.email 你的邮箱
结果
3、初始项目架构
创建本地新仓库并初始化
- 右键new 文件夹或者mkdir指令创建
- 进入该文件夹目录中
- git init 初始化仓库
初始化成功如图:
文件添加到本地仓库
a.文件添加缓存区
git add 文件名
b.缓存区内容提交到本地仓库
git commit -m “提交操作的注释”
c.改写提交的注释
git commit --amend
进入到vim编译器
选择 Y 后看到注释信息
按下"i"进入编辑,修改完成按下ctrl+o(这个是英文o),最后ctrl+x退出
4、提交修改与版本回滚
每次修改commit后都有一个版本记录,箭头指向为此版本号(回滚就是利用此id)
黄书签图案:当前版本位置
绿书签图案:本地仓库的master所处版本位置
Android Studio 、IDEA等系列软件通用操作
commit修改内容
系统自带提交,点击边框commit,进入提交暂存界面
选择需要提交的changes,再点击左下角的commit
版本回滚(后悔药!)
简单操作
a.最好自己在本地数据库回滚
b.鼠标左键选中对应版本,右键选择checkout Revision
注意:当前版本A存在未commit修改,最好选择Force checkout
- Force checkout 强制切换,切换到版本B时,暂存区是独立的,切换会版本A时会恢复原暂存区
- Smart Checkout 让你自己选择在二者不同的地方修改后再跳转版本B
- Don't Checkout 放弃回滚
结果:黄色书签(当前版本)会跳到分支B,绿色书签(master)仍然在原位置
高级操作
git reset --soft 版本id : 仅仅头指针恢复,add暂存区和工作空间内容不变
git reset --mixed 版本id :头指针和add暂存区恢复,工作空间内容不变
git reset --hard 版本id : 一切全部恢复 (我们常用!!!)
推送修改到远程数据库
常用语句:git push origin HEAD:refs/for/master
git push orgin HEAD:refs/for/目标分支
5、处理分支
为什么要引入分支
- 克隆整个master
- 同时进行多个功能开发
- 各个分支开发失败,删除即可,不会对其他分支造成影响
- 开发成功合并到master分支即可
创建分支
a.手动操作
选中master后右键,选择New Branch From "master" -> 勾选checkout branch ,取好分支名
自动生成并跳转到新分支,名字是你刚才取得,内容是master直接拷贝一份过去(一模一样)
b.代码操作
在Terminal终端输入如下指令
git branch 分支名 //创建分支
git checkout 分支名 //跳转到该分支
//创建该新分支并跳转
git checkout -b 分支名
切换分支
a.手动操作
选中该分支 ,右键checkout
b.代码操作
终端中 ---》 git checkout 分支名
合并分支
a.手动操作
切换到master分支后,选中待合并分支,右键选择merge "待合并分支名" into "master"
b.代码操作
进入Terminal后,checkout切换到master分支,输入下面指令
git merge 分支名
查看分支
git branch -a 或者直接在Git模块查看
删除分支
本地分支
git branch -D 分支名 或者先切换到其他分支,然后选中待删除分支,右键点击Delete
删除远程分支(可能需要权限)
git push origin --delete 远程分支名 或者 选中然后右键点击Delete
6、查看日志
查看历史提交日志
git log
- commit 后是这次提交的版本id (括号内表示头指针位置)
- Anthor 提交者和邮箱
- Date 提交时间
- 下面是提交的注释
查看提交历史
git reflog
包括仓库版本提交和回滚版本操作