前面学习了Git最基本的用法,包括安装Git、创建代码仓库以及提交本地代码。
下面将要学习版本控制。
一、准备工作
先选择一个项目,给它创建一个代码仓库,如下。
然后执行git init命令。
二、忽略文件
代码仓库已经创建好,接下来应该提交代码,不过应该思考一下是否所有的文件都需要加入到版本控制中?如:build目录下的文件是编译项目时自动生成的,不应该将这部分文件添加到版本控制中,那么如何实现这样的效果?
Git会检查代码仓库的目录下是否存在一个名为.gitignore的文件,如果存在,则一行行读取内容,并把每一行指定的文件或目录排除在版本控制外。
如下,有两个.gitignore文件,是自动生成的,app模块下的.gitignore内容只有/build,因此默认只有build目录不会被添加到版本控制中。
三、查看修改内容
在第一次提交代码后,我们后面还可能对项目不断进行维护和添加新功能,git会记录下自上次提交后文件修改的内容。
只需status命令就可以了,在项目根目录下输入如下命令:
git status
当代码无改动时,输入status命令,会提示项目中没有任何可提交的文件。
修改一下项目,然后再执行,提示:
这时Git提醒我们文件已经发生变化,那么如何查看更改的内容,输入以下命令:
git diff
如果只想查看某个类更改的内容,输入以下:
git diff app/src/main/java/com/example/....../类名
结果如下:减号代表删除的部分,加号代码添加的部分。
四、撤销未提交的修改
有时我们会将原本正常的功能修改处问题,这时候代码还未提交,所有修改的内容可以撤销。
撤销修改使用checkout命令,代码如下:
git checkout app/src/...../类名
checkout命令只能处理未添加的文件,对于已添加的文件需要取消添加。
取消添加可使用以下命令:
git reset HEAD app/src/..../类名
五、查看提交记录
当你的项目已经执行过几十次甚至几百次提交操作时,你可能已经忘记每日提交修改了哪些内容,git记录了每次的提交记录。
可以使用log命令查看历史提交信息,用法如下:
git log
每次提交记录都会包含提交id、提交人、提交日期、提交描述这4个信息。
下面重新提交一下,再次查看一下。
当提交记录非常多的时候,只想查看其中一条记录,可以在命令中指定该记录的id,并加上-1参数表示我们只想看到一行记录,如下所示:
git log f0573c288ac4edf764d00a03ede08d8b35e71f55 -1
如果想查看这条提交记录修改了什么内容,可以加入-p 参数,如下:
git log f0573c288ac4edf764d00a03ede08d8b35e71f55 -1 -p