1、安装Git
如果是Linux系统,只需要打开shell界面,输入:
sudo apt-get install git-core
按下回车之后输入密码即可完成Git的安装;
如果是Windows系统,需要去Git官网下载安装包进行安装;
2、创建代码仓库
首先配置你的身份,这样在提交代码的时候就知道是谁提交的,命令如下:
git config --global user.name "Tony"
git config --global user.email "tony@email.com"
配置完成之后还可以使用同样的命令来查看是否配置成功,只需要将最后的名字和邮箱去掉即可。
然后创建代码仓库,找到项目的目录下,输入如下命令:
git init
只需要这一行命令就可以完成创建代码仓库的操作,仓库创建完成之后,可以在项目的根目录下生成一个隐藏的.git文件夹,这个文件夹就是用来记录本地所有的Git操作的,可以通过 ls -al 命令查看。如果你想删除本地仓库,只需要删除这个文件夹就可以了。
3、提交本地代码
提交本地代码只需要add和commit命令就可以了。add用于把想要提交的代码先添加进来,commit是真正去执行提交操作的。
比如我想添加build.gradle文件,就可以输入:
git add build.gradle
这是用于添加单个文件的方法,如果想要添加某个目录呢,可以输入如下命令:
git add app
这是将app目录下的代码全部添加,如果想要将所有文件全部添加进去,可以输入如下命令:
git add .
. 表示全部的文件,添加好文件之后,进行提交,输入如下命令:
git commit -m "First Commit"
commit命令后一定要跟上-m参数来加上提交的描述信息,没有描述信息的提交会被认为不合法。这样代码就已经提交成功了。
4、查看更改内容
在进行第一次代码提交之后,后续我们还会对项目进行不断的维护和添加新功能,比较理想的情况是完成一小块功能就提交一次,但也有可能某个模块牵扯较多,以至于到后来连我们都已经忘记更改过什么了,通过Git命令行可以很简单的查看文件修改情况:
git status
这样Git可以提醒我们哪些文件已经发生了更改,但是具体更改的内容要怎么查看呢?可以使用以下代码:
git diff
这样就可以查看所有文件的更改内容了,如果想查看具体某个文件的更改内容可以参考如下命令:
git diff app/src/main/java/com/example/myapplication/MainActivity.java
这样就可以看到MainActivity的更改内容了。
5、撤销未提交的修改
有时候我们的代码写的过于草率或者需求有变,不需要这次更改的代码了,也不用着急,因为只要代码还没有提交,所有修改的内容都是可以撤销的。
可以使用checkout命令进行撤销:
git checkout app/src/main/java/com/example/myapplication/MainActivity.java
执行这个命令之后,MainActivity这个文件的一切修改应该都已经被撤销了,不过这种撤销方法只适用于没有add命令过的文件,如果这个文件已经被add过了,那么这种方法就无法适用,我们可以先取消添加,再进行撤销:
取消添加的命令如下:
git reset HEAD app/src/main/java/com/example/myapplication/MainActivity.java
这样MainActivity文件就重新变成未添加的状态,就可以使用checkout命令进行撤销了。
6、查看提交记录
随着项目开发时间的增多,我们提交代码的次数越来越多,如果想要查看每次提交的内容,可以使用以下命令:
git log
如果提交的记录非常多,我们想查看的只是某条记录,那么可以在命令中指定该记录的id,并加上-1参数表示我们只想看到一条记录,如下:
git log 3f359c3cdc977d98d7a38d52bf746e48e4f497d0 -1
而如果想要查看该条记录具体更改了什么内容,可以在命令中增加-p参数:
git log 3f359c3cdc977d98d7a38d52bf746e48e4f497d0 -1 -p
7、分支的用法
分支的主要作用就是在现有代码的基础上开辟一个分叉口,使得代码可以在主干线和分支线上同时进行开发,且互相不会影响。
那么如何查看当前版本库的分支呢?
git branch
创建一个分支的命令:
git branch version1.0
切换分支的命令如下:(假如当前处于master分支,切换到version1.0分支)
git checkout version1.0
需要注意的是我们在version1.0版本上的提交修改是不会影响到master分支的,如果我们在version1.0版本上修复了一个bug,master分支这个bug仍然是存在的,那么我们要如何处理呢?最好的办法就是使用merge命令进行合并:
git checkout master
git merge version1.0
首先切换到master分支,然后合并version1.0分支。
如果我们不需要version1.0分支了,可以将这个分支删除:
git branch -D version1.0
8、远程版本库协作
将一个远程版本库的代码下载到本地的:
git clone https://github.com/example/text.git
如何将本地的内容同步到远程版本呢?
git push origin master
其中origin部分指定的是远程版本库的Git地址,master部分指定的是同步到哪一个分支上。
那么如何将远程版本库的代码同步到本地呢?Git提供了两种命令来完成:fetch和pull:
git fetch origin master
执行这个命令之后,就会将远程版本库上的代码同步到本地,不过同步下来的代码并不会合并到分支上去,而是会存放到origin/master分支上,这时我们可以通过diff命令查看远程版本库到底修改了哪些东西:
git diff origin master
之后再调用merge命令将origin/master分支上的修改合并到主分支上即可:
git merge origin/master
而pull命令则是相当于将fetch和merge这两个命令放在一起执行了,他可以从远程版本库上获取最新的代码合并到本地:
git pull origin master