前言
在开发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
文件样式与对应关系
![在这里插入图片描述](https://img-blog.csdnimg.cn/8f76497d52334bbfb495889110bff901.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LqM6JuL5ZKM5LuW55qE5aSn6Iqx,size_20,color_FFFFFF,t_70,g_se,x_16) 文件1是git忽略文件 文件2是与本地分支版本一致 文件3是咱为提交到本地分支,并做了修改
假如文件是红色的样子,表示并没提交到暂存区
界面与操作
![在这里插入图片描述](https://img-blog.csdnimg.cn/576c86888cc145478c1ddc7f38b51f74.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LqM6JuL5ZKM5LuW55qE5aSn6Iqx,size_20,color_FFFFFF,t_70,g_se,x_16)
- commit 提交到本地分支 (基本操作,不做说明)
- add 添加到暂存区 (基本操作,不做说明)
- .git/info/exclude (添加到 忽略文件,是为了让文件脱离git管理,不会上传到git仓库)
- Annotate with Git Blame (显示每行代码的作者,如下图)
![在这里插入图片描述](https://img-blog.csdnimg.cn/cdf814f7834d4d02bf8dc4c49d0ce39e.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LqM6JuL5ZKM5LuW55qE5aSn6Iqx,size_20,color_FFFFFF,t_70,g_se,x_16) - 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表示当前版本 ![在这里插入图片描述](https://img-blog.csdnimg.cn/87ab050d7e444d2c939784563f956355.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LqM6JuL5ZKM5LuW55qE5aSn6Iqx,size_11,color_FFFFFF,t_70,g_se,x_16) 有三个选项 Mixed:参数为默认值,暂存区的内容和工作区的内容都在工作区,提交上的都会还原到工作区 Soft:工作区的内容依旧在工作区,暂存区的内容还在暂存区(不被git管理的文件会变为新增文件) Hard:工作区和暂存区的内容全部丢失(需要谨慎操作,一步就啥也木有了)
to commit 选择你要还原的commit号 20. stash changes… git中如果本地有文件改动未提交、且该文件和服务器最新版本有冲突,pull更新会提示错误,无法更新:要么先commit自己的改动然后再通过pull拉取代码,stash的好处是可以先将你的改动暂存到本地仓库中,随时可以取出来再用,但是不用担心下次push到服务器时,把不想提交的改动也push到服务器上,因为Stash Changes的内容不参与commit和push。 21. unstash changes ![在这里插入图片描述](https://img-blog.csdnimg.cn/21959fd800e246d28005bde481282a93.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LqM6JuL5ZKM5LuW55qE5aSn6Iqx,size_11,color_FFFFFF,t_70,g_se,x_16) View:查看 Drop:删除 Clear:清理 pop stash:移除stash reinstate index 22. manager remote 查看git remote内容
右下角快捷操作
![在这里插入图片描述](https://img-blog.csdnimg.cn/f11186b96f7e4a78be1586e8155e9f40.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LqM6JuL5ZKM5LuW55qE5aSn6Iqx,size_13,color_FFFFFF,t_70,g_se,x_16) ![在这里插入图片描述](https://img-blog.csdnimg.cn/977f7461ba5249859215b9d51724522a.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LqM6JuL5ZKM5LuW55qE5aSn6Iqx,size_14,color_FFFFFF,t_70,g_se,x_16) merge into current 合并到当前分支 rebase current onto selected 合并到当前rebase模式 chechout and rebase onto current 切换分支,并将分支合并到当前切换的分支
git面板快捷操作
![在这里插入图片描述](https://img-blog.csdnimg.cn/26a1a5cf70094a21a85383cb4f3ebbde.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LqM6JuL5ZKM5LuW55qE5aSn6Iqx,size_20,color_FFFFFF,t_70,g_se,x_16) ![在这里插入图片描述](https://img-blog.csdnimg.cn/52307cccb68247619d77465fd52cd351.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LqM6JuL5ZKM5LuW55qE5aSn6Iqx,size_10,color_FFFFFF,t_70,g_se,x_16)
compact references view 简洁引用视图 简洁引用: ![在这里插入图片描述](https://img-blog.csdnimg.cn/3b8e056db1664b9791d30f56da33cc77.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LqM6JuL5ZKM5LuW55qE5aSn6Iqx,size_20,color_FFFFFF,t_70,g_se,x_16) align references to left 将引用向左对齐 引用左右对齐配置: ![在这里插入图片描述](https://img-blog.csdnimg.cn/57bc0d43f5e942b38743c1c018eccc95.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LqM6JuL5ZKM5LuW55qE5aSn6Iqx,size_20,color_FFFFFF,t_70,g_se,x_16)
Show tag names 显示标签名称 设置是否显示标签:
![在这里插入图片描述](https://img-blog.csdnimg.cn/a8cbf8cf824d4cb6914d60a4c4941b90.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LqM6JuL5ZKM5LuW55qE5aSn6Iqx,size_20,color_FFFFFF,t_70,g_se,x_16)
Show long Edges 显示长线 ![在这里插入图片描述](https://img-blog.csdnimg.cn/5ac7b3903cda464e95935df4cb945425.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LqM6JuL5ZKM5LuW55qE5aSn6Iqx,size_20,color_FFFFFF,t_70,g_se,x_16)
Turn Intellisort On 打开intelli 排序 incase of merge show incoming commits first (directly below merge commit) 在合并的情况下,首先显示传入的提交 直接合并在下边
|