[Toc]
git常用命令小结
1. 两种常用的获取git仓库的办法
- 1.1 从现有仓库克隆
可以将github上或gitee上已有的git仓库克隆到本地
git clone [url].git
还可以自定义本地仓库的名字
git clone [url].git [name]
- 1.2 本地初始化
可以在本地直接将当前文件夹初始化成一个仓库
git init
2. 管理仓库
- 2.1 跟踪文件
可以将文件添加到跟踪列表,以跟踪文件的状态
## 将当前仓库的某文件添加到跟踪列表
git add [file name]
## 将当前仓库的所有文件添加到跟踪列表
git add -A
- 2.2 查看状态
可以查看当前仓库已跟踪的文件使用情况,如新增、修改、删除等
git status
- 2.3 提交更新
当文件状态不是最新时,可以通过提交更新以同步。通过上面add跟踪到的文件相当于是放在了一个暂存区,提交更新就是将当前暂存的内容正式记录到仓库。
## 更新时最好备注更新内容以便将来能精确地恢复到想要的早期版本
git commit -m "add your comment"
## 撤销上次的提交
git commit --amend
2.4 忽略文件
当有些杂七杂八的文件比如某个项目的配置文件或者一些库文件等非核心代码文件,在每次创建项目的时候都会自动生成,没必要放到在线的仓库上加大存储负担和他人的下载负担,可以忽略这些文件的跟踪。- 2.4.1 先建立一个.gitignore的文件
- 2.4.2 在文件中列出需要忽略的文件名的特点,可用正则表达式描述
2.5 移除文件
git rm [name]
- 2.6 移动&重命名文件
git mv [old-path/old-name] [new-path/new-name]
3. 版本控制
有时候做出一些意外的改动,想恢复到之前的某个版本,这时候便可以使用git的版本控制,这也是git的看家本领。
3.1 查看所有版本
git log
3.2 恢复到之前的某个版本
3.2.1 reset方法:干脆利落,直接回退
git reset --hard HEAD~[num]
3.2.2 revert方法:留条后路,会新增一次提交所以不影响之前的提交
## 撤销上一次commit git revert HEAD ## 撤销上上次commit git revert HEAD^ ## 撤回指定commit-id,如 git revert 0818badf6882ea2664a205bc8ef3a85425bb2537 git revert commit-id
4. 分支控制
分支控制多数用于临时在已有的应用上新增功能或者紧急修复,但又不能在开发过程中影响原来的应用的正常运行,所以创建分支其实是对创建分支前所在目录的一个拷贝,在新建的分支上完成代码的修改之后,可以将新建的临时分支合并到原来的分支上,并删除临时创建的分支。
- 4.1 创建分支
git branch [name]
- 4.2 切换分支
git checkout [name]
- 4.3 创建并切换分支
git checkout -b [name]
- 4.4 合并分支
## 先切换回原分支
git checkout master
## 再将要在原分支上新增的分支合并进来
git merge [name]
- 4.5 删除分支
git branch -d [name]
5. 远程控制
git提供了远程仓库,可以支持多人合作
- 5.1 查看远程仓库
## 只看远程仓库的名字
git remote
## 名字+仓库URL
git remote -v
## 详细信息
git remote show [name]
- 5.2 添加远程仓库
git remote add [name] [url].git
- 5.3 拉取远程仓库
## 拉取并合并
git pull [name]
## 拉取不合并
git fetch [name]
- 5.4 推送到远程仓库
git push [name] [master/branch]
- 5.5 删除远程仓库
git remote rm [name]
- 5.6 重命名远程仓库
git remote rename [old name] [new name]
Android开发环境搭建
1. 下载并安装Android studio(需科学上网)
- 名称:android-studio-ide-173.4720617-windows
- 下载地址:https://dl.google.com/dl/android/studio/install/3.1.2.0/android-studio-ide-173.4720617-windows.exe
- 安装后发现缺少Android sdk,无法正常使用
2. 下载并安装Android sdk(需科学上网)
- 名称:installer_r24.4.1-windows
- 下载地址:https://dl.google.com/android/installer_r24.4.1-windows.exe
- 安装时发现缺JDK,无法安装
3. 下载并安装JDK
- 3.1 名称:jdk-8u181-windows-x64
- 3.2 下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html
- 3.3 安装后配置Java环境变量
- 3.3.1 新建系统变量JAVA_HOME,值为jdk安装目录
## 例如 F:\Java\jdk1.8.0_181
- 3.3.2 新建系统变量CLASSPATH,指定Java的类路径
## ;为分隔符 .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
- 3.3.3 在系统变量PATH末尾追加
%JAVA_HOME%\bin %JAVA_HOME%\jre\bin
- 3.3.1 新建系统变量JAVA_HOME,值为jdk安装目录
- 3.4 cmd输入java和javac,出现报错
could not find java.dll could not find java SE Runtime Environment
- 3.5 上网查后发现和原有的Java路径冲突
- 原因:在系统变量Path的最前面有一条:C:\ProgramData\Oracle\Java\javapath;是本机自带的javapath,与将要配置的javapath有冲突
- 解决方案:将刚刚追加的两条path移到其前面
4. 按顺序完成
- 4.1 cmd输入java和javac,出现相关信息,配置成功
- 4.2 重新运行sdk installer,可检测到jdk,一直点下一步直到sdk安装成功
- 4.3 Android studio启动后打开sdk manager,选择新安装的sdk路径
- 4.4 重启Android studio,正常使用
5. 测试helloworld
- 5.1 新建project,命名新项目为helloworld,按默认选项完成创建
- 5.2 问题1:会发现gradle同步出错
- 5.3 原因及解决方案
- 查看log会发现是因为无法连接到dl.google.com
- 所以就应该设置代理了
- 将你的代理工具的本地代理端口设置成1080
- 并在gradle.properties末尾添加对应的代理设置(端口要对应)
systemProp.http.proxyHost=localhost systemProp.http.proxyPort=1080 systemProp.https.proxyHost=localhost systemProp.https.proxyPort=1080
- 保存修改后重启Android Studio或点击try again,会发现已经可以连接上
- 5.4 问题2:在try again时发现说缺少Android 26,报错窗口弹出的提示install点击后说unavailable
- 5.5 原因及解决方案
- 其实就是代理还没有完全设置好,进一步设置代理后就能正常下载了
- 并在setting里的HTTP proxy设置对应的端口和host,点击apply后ok
- 5.6 问题3:运行过程中还是说缺东西
- 5.7 原因及解决方案
- 之前安装的installer_r24.4.1-windows是sdk tools,是用来帮助安装相关工具和检查更新,没有带附加的东西,也就是还有许多东西没下载
- 如果前面的代理都设置好了,现在缺什么下什么就好了
- 代理设置不成功就得自己去别的地方手动
- 5.8 问题4:最后模拟器也安装好了,启动说缺少硬件加速器(ERROR: x86 emulation currently requires hardware acceleration!)
- 5.9 原因及解决方案
- 缺少Intel HAXM,需要去官网下,或者使用sdk manager下,自己下的话就要手动放到之前installer_r24.4.1-windows的安装目录下的extras文件夹并解压手动安装
- 安装的时候如果出现报错,多半是没有开启Intel VT技术,要去bios上设置
- 重启主机,适当时候按F2进入BIOS界面
- 点开高级模式(Advanced Mode)
- 打开CPU设置(CPU Configuration)
- 找到Intel 虚拟技术(Intel VT-x)
- 将关闭改成开启(disable=>enable)
- 重启电脑
- 再次打开Android Studio并运行项目
- 5.10 至此就应该解决所有问题了,可以正常跑出helloworld的手机模拟效果
6. 其他
在之后启动AS的时候发现都会先提醒sdk不存在,然后提示安装的时候又检测到我们已经装好的sdk。这个其实不影响,造成的原因是因为检测sdk的程序比导入sdk的程序先运行了。如果觉得每次都要点这么多下很麻烦,可以在AS的安装目录下的bin文件夹中找到idea.properties文件,在文件末尾追加一行
disable.android.first.run=true
git分享会补充
1. SVN版本控制流程
- 集中式管理
- 版本记录都存在服务器
- 服务器崩了就全崩了
- 文件之间相互独立
2. Git版本控制流程
- 分布式管理
- 本地有某个贡献者的完整版本库
- 如果服务器崩了还可以使用某个最新贡献者的本地库重新部署服务器
- 颗粒度比SVN细(能识别到具体某个文件的某几行)