androidstudio⾃带git⽤法_AndroidStudio配置Git及Git⽂件状
态说明
Android Studio配置Git还是⽐较简单的,⿇烦的是可能中间出现各种问题。如果你想了解或感兴趣,请往下看。
根据需要下载相应的版本,并安装。然后在Android Studio中指定,点击“Test”,成功则会弹出以下提⽰。
由于我⽤的是Android Studio 2.0 Preview,根本不存在“Enable Version Control Integration”提⽰,害我了半天 T~T。其实有个类似的操作。
就是这个“Create Git Repository”,不然你会⼀直得到“...such that source detected in git but Unregistered Vcs root detected”提⽰。以下图⽰中unregistered roots上⾯的两个⼯程就完成了配置。
打开git base,并切换到项⽬的根⽬录,输⼊以下命令
顺利的话这⼀步就完成了。
然后在Android Studio中进⾏git add操作。
接着就是commit directory,最后push代码到远程仓库。
⾄此,⼀次提交结束。
默认情况下,Android Studio的项⽬会有这⼏个⽂件夹:build, libs, src. 但每次提交代码到git,都会提⽰build⽂件夹中的众多需要提交的⽂件,其实我们根本不关⼼build⽂件夹中的⽂件改动情况。怎么办呢?利⽤.gitignore把它过滤掉。
在⼯程根⽬录建⽴.gitignore⽂件,然后添加
build
就这么简单!如果你想过滤其它⽂件,添加相应的规则就可以了。
保存.gitignore⽂件后,还需要运⾏⼀下以下⼏个命令,以便把.gitignore⽂件提交到git上。
git rm -r --cached .
git add .
git commit -m "添加.gitignore⽂件"
git push origin master
“git rm -r -- cached 某个⽬录”,这个命令有点狠,会把⽬标⽬录清空,--cached .(注意:此处表⽰所有的⽂件,有⼀个点);"git add .",再把所有的⽂件重新加⼊缓存(stages new and modified, without deleted)。如果你当前其它⽂件已经是最新且已经push到远程仓库,完全可以⽤add .gitignore了事。
此外,还可以⽤以下命令代替git rm -r --cached .
git add -A
表⽰stages All。新⼿可能不太明⽩。好,我从git中的三种⽂件状态及其转换说起。
---------------------------------------------------------------------------------------------
华丽的分隔线
---------------------------------------------------------------------------------------------
1、⾸先,我在git对应的⼯程⽬录下创建⼀个,并输⼊以下字符串并保存。
Hello
2、打开git bash,输⼊命令git status,查看⽂件状态
你会看到,红⾊的处于待提交状态,这个⽂件被标记为Untracked files,并建议你使⽤git add ...命令将⽂件包含到待提交清单中。
3、按照提⽰,使⽤命令git ,把这个⽂件加⼊到git的快照中,再次git statusandroid最新版
此时的状态变成了Changes to be committed,等待被提交。然后同时它还提⽰你,利⽤git reset HEAD ...可以将⽂件状态还原成为暂存状态,也即回到Untracked files状态。
4、打开,向其中加⼊些内容,保存。
Hello
world
其实就多了world这个字符串。再次⽤git status查看⽂件状态。
除了之前的“Changes to be committed”状态,还多了“Changes not staged for commit”状态,表明⽂件已经被修改,但修改还没有放⼊暂存区域,也就是没⽣成快照。如果此时进⾏commit操作,只会提交"Hello",忽略“world”。
根据提⽰,如果想把最新的修改“Hello world”提交到仓库,需要再次使⽤命令git ;如果想撤销修改,即只想提
交“Hello”,可以使⽤git checkout -- ,再次git status,则可以看到状态⼜改变了。
总结:所以,在⽂件未进⾏commit操作之前,存在三种状态:Untracked files, Changes not staged for commit, Changes to be committed. 每种状态可以随意转换。
--------------------------------------------------------------------------------------------------------
题外话
--------------------------------------------------------------------------------------------------------
在git的后续版本中,添加了git stage作为git add的⼀个同义词,这样在语义上更符合上⾯的Changes not staged for commit。为什么要增加stage呢?
1、分批提交,降低commit的粒度。
2、⽂件快照,便于回退。
如果⼀次提交过多⽂件,对后续的回滚或跟进⽆疑⾮常不利,对问题的定位也不便,体验过估计清楚的。⽐如你做了两个功能A和B,对应的⽂件修改分别是a1.java, a2.java; b1.java, b2.java,提交时就可以这样:
git stage a1.java a2.java
git commit -m "功能A"
git stage b1.java b2.java
git commit -m "功能B"
同时,每次修改后stage,任何时刻,都可以回到上⼀次staged的状态:
git checkout --
如果想从stage中删除,则使⽤reset
git
这个命令就是git 的反操作。
Android Studio 配置虚拟设备的镜像⽂件的存放路径
操作系统:Windows 10 x64 IDE:Android Studio 3.3 Android Studio创建的虚拟设备的默认存放路径是位于C盘,这导致C盘的可⽤容量变⼩. 所以,我决定要将虚 ...
Android studio配置Git
Android studio配置Git 1.下载window 版git并安装:下载地址 2.Android Studio设置git插件:File->Setting->Version Con ...
Android Studio配置使⽤git
⼀.准备 如果没有安装git,那么先要到到Git官⽹下载git,然后按照提⽰⼀步⼀步安装即可,这个没有什么难度,不过要记得安装的⽬录.
⼆.Android Studio配置git File->S ...
Android基础-系统架构分析,环境搭建,下载Android Studio,AndroidDevTools,Git使⽤教程,Github⼊门,界⾯设计介绍
系统架构分析 Android体系结构 安卓结构有四⼤层,五个部分,Android分四层为: 应⽤层(Applications),应⽤框架层(Application Framework),系统运⾏层(L ...
Git中的⽂件状态和使⽤
(暂存区 即Index In Git) commit 到 local respository的内容,不想push,则使⽤git reset 将⽂件状态回转到staged|modified|unstag ...
Git中的⽂件状态和使⽤问题解决
(暂存区 即Index In Git) commit 到 local respository的内容,不想push,则使⽤git reset 将⽂件状态回转到staged|modified|unstag ...
Android零基础⼊门第13节:Android Studio配置优化,打造开发利器
原⽂:Android零基础⼊门第13节:Android Studio配置优化,打造开发利器 是不是很多同学已经有烦恼出现了?电脑配置已经很⾼了,但是每次运⾏Android程序的时候就很卡,⽽且每次安装 ...
Android Studio 配置SVN实现代码管理
Android Studio 项⽬中,哪些⽂件应该忽略⽽不提交到svn的服务器中?
Android Studio 中建议过滤的⽂件: - .idea ⽂件夹 - .gradle ⽂件夹 - 所有的 build ⽂件夹 - 所有的 .iml ⽂件 - local.properties  ...
随机推荐
HTTPS是数据交互细节
关于FileSystemWatcher监听⽂件创建
FileSystemWatcher中的Created事件不但可以监听⽤户创建的⽂件,当⽤户删除某个⽂件时,系统会在再监听的那个盘上的回收站创建⼀个⽂件,在回收站创建的⽂件也会触发Created事件,⽽ ...
css案例学习之全局声明*{} 与body{}的区别
代码

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。