第9章 Git 的基本使用
本系列学习笔记第9章
前言
打算把android基本知识点写一个系列,旨在把android基础书,例如《Android 第一行代码 第2版》、《爱上android》、《疯狂android讲义》等书的一些知识点记录一下,会持续更新内容,为了方便自己复习,也希望可以帮助到大家!
1、配置身份:用户名和邮箱
git config --global user.name "用户名"
git config --global user.email"邮箱"
![](https://img.haomeiwen.com/i2108792/42e83e8383368a10.png)
2、查看配置
git config --global user.name
git config --global user.email
![](http://upload-images.jianshu.io/upload_images/2108792-15984e8fb5b51335.png)
3、创建代码库操作
git init
![](http://upload-images.jianshu.io/upload_images/2108792-bdd3da5575122161.png)
4、查看目录
ls -al
![](http://upload-images.jianshu.io/upload_images/2108792-d86967d71fc83e0d.png)
5、提交本地代码
提交单个文件
git add build.gradle
提交整个文件夹
git add app
提交所有文件
git add .
提交所有文件
git commit -m "注释"
![](http://upload-images.jianshu.io/upload_images/2108792-ed015ae31086457a.png)
6、忽略文件
项目根目录下的.gitignore文件
![](http://upload-images.jianshu.io/upload_images/2108792-583e70647337882e.png)
![](http://upload-images.jianshu.io/upload_images/2108792-93aa512c10115732.png)
模块目录下的.gitignore文件
![](http://upload-images.jianshu.io/upload_images/2108792-4fb8d45bee2773f5.png)
![](http://upload-images.jianshu.io/upload_images/2108792-ab8569646265e126.png)
如果要忽略什么文件的话,就在这俩个目录上添加
7、查看修改内容
查看文件修改情况
git status
![](http://upload-images.jianshu.io/upload_images/2108792-fe79fa2fdaf37aec.png)
![](http://upload-images.jianshu.io/upload_images/2108792-ff69f39b5059d9c3.png)
查看文件修改内容
git diff
![](http://upload-images.jianshu.io/upload_images/2108792-6e7c1373b53ebea3.png)
8、撤销没提交的修改
1) git checkout + 文件路径名(用于还没对文件进行add命令有效)
![](http://upload-images.jianshu.io/upload_images/2108792-ce636fc5bcdc2f27.png)
![](http://upload-images.jianshu.io/upload_images/2108792-18fca19ee86ebc10.png)
2)git reset HEAD+ 文件路径名(用于对文件进行add命令之后有效)
![](http://upload-images.jianshu.io/upload_images/2108792-15eb825ebe37679a.png)
9、查看提交记录
查看所有的提交记录
git log
![](http://upload-images.jianshu.io/upload_images/2108792-f88cbaf999b5000c.png)
查看某次提交记录
git log + id -1
![](http://upload-images.jianshu.io/upload_images/2108792-74b63da66fe285e1.png)
查看某次提交记录具体修改了什么内容
git log + id -1 -p
![](http://upload-images.jianshu.io/upload_images/2108792-ef5f7d59e4c3a772.png)
10、分支的用法
分支是版本控制工具中比较高级并且比较重要的一个概念,它主要的作用就是在现有代码的基础上开辟一个分叉口。使得代码在主干线和分支线上同时进行开发,并且相互之间不会影响。
为什么会要有分支呢?
举个例子,假如1.0版本发布了,建立了一个分支,接着之后的版本在主干线上开发,例如发现1.0版本的BUG时,需要修复,我们可以快速切换回1.0版本的分支上进行修改,从而不会影响在主干线开发的其它版本的代码,还可以修改好的代码合并到主干线上,这就是分支出现的原因。
查看当前版本库当中有那些分支
git branch
![](http://upload-images.jianshu.io/upload_images/2108792-ec6ea9995cca943b.png)
创建一个分支
git branch + 分支名称
![](http://upload-images.jianshu.io/upload_images/2108792-5b239502327b6380.png)
切换到分支目录
git checkout+ 分支名称
![](http://upload-images.jianshu.io/upload_images/2108792-dfd997fd0f35b428.png)
提交分支上修改的代码
![](http://upload-images.jianshu.io/upload_images/2108792-0b9b47a304511ca4.png)
将分支修改的代码合并到主干线
git checkout master
git merge version1.0
![](http://upload-images.jianshu.io/upload_images/2108792-b13817a426af6ce7.png)
![](http://upload-images.jianshu.io/upload_images/2108792-c658a2ec385fd50b.png)
删除分支
git branch -D version1.0
![](http://upload-images.jianshu.io/upload_images/2108792-353a68891fb2e09b.png)
11、与远程版本库协作
测试演示远程版本库的Git地址:
https://github.com/zhuimengxiaole/test.git
11.1 将远程版本库代码下载到本地
git clone https://github.com/zhuimengxiaole/test.git
![](http://upload-images.jianshu.io/upload_images/2108792-7f30d7922a8295b3.png)
11.2 将本地修改的内容同步到远程版本库上
git push origin master
![](http://upload-images.jianshu.io/upload_images/2108792-78bea4088a606ced.png)
11.3 将远程版本库上的修改同步到本地
1)第一种方法:
git fetch origin master
执行这个命令后,就会将远程版本库上的代码同步到本地,不过同步下来的代码并不会合并到任何分支上,而是会存放在一个origin/master的分支上,这时我们可以用通过diff命令来查看远程版本库上到底修改了什么东西
git diff origin/master
之后再调用merge 命令将origin/master分支上的修改合并到主分支上即可,使用如下的命令:
git merge origin/master
2)第二种方法:
git pull origin master
pull 命令则是相当于将fetch 和 merge这俩个命令放在一起执行了