前言
在开发flutter或android项目,选择用Android stuido是比较方便的,在git的可视化使用上,Android studio已经非常方便了,但是还是有很多的小伙伴,依旧用其他工具来管理git。那么今天我就来详细的介绍一下 Android stuido的git使用与操作。
一、基本认知
git是采用分布式版本库机制。
工作区
项目目录下的文件可以称之为工作区
暂存区
增加文件,执行add操作则是把文件添加到暂存区
基本操作
git add 是将文件放到暂缓区 git commit 则是把文件添加到本地仓库 git push 则是提交到远程仓库 git status 是查看现有版本库中的文件状态
head指针
head表示的是当前版本,并不是任何分支的最新版本
二、Android studio中的git
文件样式与对应关系
 文件1是git忽略文件 文件2是与本地分支版本一致 文件3是咱为提交到本地分支,并做了修改
假如文件是红色的样子,表示并没提交到暂存区
界面与操作

- commit 提交到本地分支 (基本操作,不做说明)
- add 添加到暂存区 (基本操作,不做说明)
- .git/info/exclude (添加到 忽略文件,是为了让文件脱离git管理,不会上传到git仓库)
- Annotate with Git Blame (显示每行代码的作者,如下图)
 - show diff (故名思义differences 差别)
- compare with reversion(与某个版本比较)
- compare with branch(与某个分支比较)
- show history (查看历史)
- show current revision (显示当前行最新修订历史版本、提示)
- Rollback… 在没有提交到本地库之前,丢弃工作区内容。
- push… 推到线上分支
- pull… 线上拉到本地并合并
- fetch 线上拉到本地
- merge… 选择分支进行合并
- rebase… 选择分支进行合并,如有有合并冲突,会提示整理为一条commit直线
- branches… 创建分支与查看分支(这块下面快捷操作具体介绍)
- new branch 会按照当前本地提交版本,来创建新的分支
- new tag 给某一次提交增加个可识别的名字
- reset HEAD
注意:Git中,用HEAD表示当前版本  有三个选项 Mixed:参数为默认值,暂存区的内容和工作区的内容都在工作区,提交上的都会还原到工作区 Soft:工作区的内容依旧在工作区,暂存区的内容还在暂存区(不被git管理的文件会变为新增文件) Hard:工作区和暂存区的内容全部丢失(需要谨慎操作,一步就啥也木有了)
to commit 选择你要还原的commit号 20. stash changes… git中如果本地有文件改动未提交、且该文件和服务器最新版本有冲突,pull更新会提示错误,无法更新:要么先commit自己的改动然后再通过pull拉取代码,stash的好处是可以先将你的改动暂存到本地仓库中,随时可以取出来再用,但是不用担心下次push到服务器时,把不想提交的改动也push到服务器上,因为Stash Changes的内容不参与commit和push。 21. unstash changes  View:查看 Drop:删除 Clear:清理 pop stash:移除stash reinstate index 22. manager remote 查看git remote内容
右下角快捷操作
  merge into current 合并到当前分支 rebase current onto selected 合并到当前rebase模式 chechout and rebase onto current 切换分支,并将分支合并到当前切换的分支
git面板快捷操作
 
compact references view 简洁引用视图 简洁引用:  align references to left 将引用向左对齐 引用左右对齐配置: 
Show tag names 显示标签名称 设置是否显示标签:

Show long Edges 显示长线 
Turn Intellisort On 打开intelli 排序 incase of merge show incoming commits first (directly below merge commit) 在合并的情况下,首先显示传入的提交 直接合并在下边
|