您的位置:首页 > 其它

Git之版本控制工具进阶

2015-09-23 16:56 295 查看
在上一篇文章中,学习了Git的基本用法,包括安装Git、创建代码仓库、提交本地代码。这篇文章接着学习更多的使用技巧

准备工作

所谓的准备工作,就是要给一个项目创建代码仓库,这里选择ProviderTest项目中创建,打开Git Bash,进入到该项目的根目录下面,执行git init 命令。准备工作搞定。



1.忽略文件

提交文件时,需要思考的是是不是需要将所有的文件都加入到版本控制当中。

Git提供了一种可配性很强的机制来允许用户将指定的文件或目录排除在版本控制之外,它会检查代码仓库的根目录下是否存在一个名为.gitignore的文件,如果存在的话就去一行行读取这个文件中的内容,并把每一行指定的文件或目录排除在版本控制之外。注意.gitignore中指定的文件或目录是可以使用“*”通配符的。

a.在ProviderTest项目的根目录下创建一个名为.gitignore的文件,然后编辑这个文件中的内容,



这样就表示把bin目录和gen目录下的所有文件都忽略掉,从而使得它们不会加入到版本控制当中。
b.用add命令将所有的文件进行添加 git add .
c.用commit命令提交代码 git commit -m "First commit."

2.查看修改内容
查看文件修改情况十分简单,使用status命令即可,在项目的根目录下面输入如下命令
git status
然后Git会提示目前项目中没有任何提交的文件,这是因为刚刚提交过项目,如果这个时候修改MainActivity.java文件中的部分代码,并重新输入 git status后则显示为:



注意到Git提醒我们MainActivity.java这个文件已经发生更改,如果要查看更改的内容,需要借助diff命令。
git diff
这样就可以 查看所有文件的更改内容,如果只想查看MainActivity.java的更改内容,使用如下命令:
git diff src/com/example/providertest/MainActivity.java



3.撤销未提交的修改
有的时候我们代码可能会写的过于草率,以至于原本正常的功能,结果反倒被我们改出了问题,此时,稍安勿躁,只要代码未提交,所有修改的内容都是可以撤销的
我们在上面修改了MainActivity.java的部分代码,现在想要撤销,则需要使用checkout命令,
git checkout src/com/example/providertest/MainActivity.java
执行该命令后,该文件所有的修改都被撤销,此时可以用git status 命令检验一下



可以看到,当前项目中没有任何可提交的文件,说明撤销操作成功了。
不过这种撤销方式只适用于那些还没有执行过add 命令的文件,如果某个文件已经被添加过了,这种方式就无法撤销其更改内容,现在做个测试
首先修改MainActivity.java部分代码,然后输入命令 git add . 这样就把所有修改的文件都进行了添加,输入git status检查,



再执行一遍checkout命令,你会发现MainActivity仍然处于添加状态,被修改的内容无法撤销,面对这种情况,我们需要对已添加的文件先对其取消添加,然后才可以撤回提交。
取消添加使用的是reset命令,
git reset HEAD src/com/example/providertest/MainActivityl.java
运行git status,发现MainActivity.java文件重新变成未添加状态,此时使用checkout命令来将修改的内容进行撤销。

4.查看提交记录
a.使用log命令查看所有的提交信息,git log
b.当提交记录非常多时,我们需要其中的一条提交记录信息,可以在命令中指定该记录的id,并加上-1表示我们只想看到一行记录,如下
git log 2e7c0547af28cc1e9f303a4a1126fddbb704281b -1
而如果想要查看这条提交记录具体修改了什么内容,可以在命令中加入 -p
git log 2e7c0547af28cc1e9f303a4a1126fddbb704281b -1 -p
查询结果如下,减号代表删除部分,加号代表添加的部分。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: