前言
- Git 的安装,使用,将代码托管到GitHub、GitBlit上
下载安装
- 访问网址https://git-for-windows.github.io/,点击Download按钮开始下载,下载完成后双击安装包进行安装,之后一直点击“下一步” 就可以完成安装了。
创建代码仓库
- 首先配置一下你的身份,这样提交代码时Git就可以知道是谁提交的了,命令如下所示:
git config --global user.name "UserName"
git config --global user.email "UserName@gmail.com"
配置完成后可以使用同样的命令来查看是否配置成功,只需要将最后的名字和邮箱地址去掉即可。
- 仓库(Repository)是用于保存版本管理所需信息的地方,所有本地提交的代码都会被提交到代码仓库中,如果有需要还可以再推送到远程仓库中。比如我们要给Cart项目建立一个代码仓库,打开Git Bash使用命令:
cd /e/as-dmo/Cart
, 进入Cart项目的目录下面,然后在这个目录下面输入如下命令即可:
git init
创建完成后,会在Cart项目的根目录下生成一个隐藏的.git文件夹,这个文件夹就是用来记录本地所有的Git操作的,可以通过ls -al
命令查看一下。如果你想要删除本地仓库,只需要删除这个文件夹就行了。
提交本地代码
git add build.gradle //添加单个文件的方法
git add app //添加单个目录的方法
git add . //表示添加所有的文件
git commit -m "第一次提交代码" //提交代码
忽略文件
- Android Studio 在创建项目的时候,会自动帮我吗,们创建出两个
.gitignore
文件,一个在根目录下,一个在app模块下面,根目录下面的.gitignore
文件,如下所示:
*.iml
.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
.DS_Store
/build
/captures
.externalNativeBuild
这是Android Studio 自动生成的一些默认配置,通常情况下,这部分内容都是不用添加到版本控制当中的。
再来看一下app模块下面的.gitignore
文件,如下所示:
/build
由于app模块下面基本都是我们编写的代码,因此默认情况下,只有其中的build目录不会被添加到版本控制当中。当然,我们完全可以对以上两个文件进行任意地修改,来满足特定的需求,比如说,app模块下面的所有测试文件都只是给我自己使用的,我并不想把它们添加到版本控制中,那么就可以这样修改app/.gitignore
文件中的内容:
/build
/src/test
/src/androidTest
查看修改内容
- 在项目的根目录下,输入如下命令:
git status
假设将项目中的MainActivity.java里的代码改动一下,将书的价格由22.85
改成 55.55
,然后重新输入git status
命令,可以看到Git 提醒我们MainActivity.java这个文件已经发生了更改,想要查看所有文件更改的内容,输入命令:
git diff
只想查看MainActivity.java文件的更改内容,可以使用如下命令:
git diff app/src/main/java/com/example/providertese/MainActivity.java
其中,减号代表删除的部分,加号代表添加的部分,从中我们就可以明显地看到,书的价格由22.85被修改成了55.55。
撤销未提交的修改
- 有时候我们代码可能写得过于草率,以至于原本正常的功能,结果反倒被我们改出了问题。遇到这种情况,只要代码还未提交,所有修改的内容都是可以撤销的。
比如上一小节中我们修改了MainActivity 里书的价格,现在想要撤销这个修改,可以使用checkout命令,用法如下所示:
git checkout app/src/main/java/com/example/providertese/MainActivity.java
重新运行git status
命令检查一下,可以看到,当前项目中没有任何可以提交的文件,说明撤销操作确实是成功了。不过这种撤销方式只适用于那些还没有执行过add
命令的文件,如果某个文件已经被添加过了,这种方式就无法撤销其更改的内容。我们执行一遍checkout
命令,你会发现MainActivity 仍然是处于已添加状态,所修改的内容无法撤销。这时,我们需要对已添加的文件进行取消添加操作,然后才可以撤回提交,用法如下所示:
git reset HEAD app/src/main/java/com/example/providertese/MainActivity.java
然后再运行一遍git status
命令,你就会发现MainActivity.java这个文件重新变回了未添加状态,此时就可以使用checkout
命令来将修改的内容进行撤销了。
查看提交记录
- 当项目开发几个月之后,我们可能已经执行过上百次的提交操作了,这个时候估计你早就已经忘记每次提交都修改了哪些内容。使用
log
命令查看历史提交信息,用法如下所示:
git log
可以看到,每次提交记录都会包含提交id、提交人、提交日期以及提交描述这个4个信息。当提交记录非常多的时候,如果我们只想看到一行记录,可以在命令中指定该记录的id,并加上-1参数表示我们只想看到一行记录,如下所示:
git log 1fa380b502a00b82bfcb8d84c5ab5e15b8fbf7dac -1
而如果想要查看这条提交记录其他修改了什么内容,可以在命令中加入-p
参数,命令如下:
git log 1fa380b502a00b82bfcb8d84c5ab5e15b8fbf7dac -1 -p
查询中的结果,其中减号代表删除的部分,加号代表添加的部分。
将代码托管到 GitHub上
- 打开Git Bash 并切换到CoolWeather的工程目录下,将远程版本库克隆到本地,输入命令:
git clone https://github.com/guolindev/coolweather.git
克隆成功后,将.gitignore、LICENSE、README.md、.git(隐藏目录,不要漏掉)这4个文件复制到本地。
- 将项目中现有的文件提交到Github上面,只需3个命令即可,如下所示:
git add .
git commit -m "第一次提交代码"
git push origin master
更新本地代码,从 GitHub上下载更新的代码
- 如果不是使用Android Studio 菜单栏上的
Update Project
按钮来更新本地的代码,比如是使用Visual Studio Code来开发的Web项目,那么,需要使用Git在项目的目录下使用如下两个命令即可:
git checkout master
git pull