一、关于Git
1.1 Git简介和安装
1、Git是一个开源的分布式版本控制工具
2、Git的安装:安装Git路径
1.2 设置用户名
- 1)点击Git Bash,打开显示如下界面:
- 2)在cmd中输入如下语句,设置姓名和邮箱:
$ git config --global user.name 姓名
$ git config --global user.email 邮箱
- 3)设置好后,可以通过如下语句查看配置结果
$ git config user.name
$ git config user.email
1.3 创建代码仓库
1、首先要进入到指定项目的目录下
需要用到两个指令:add 和 commit;其中add命令用于把想要提交的代码先添加进来;commit真正执行提交操作
1、若添加build.gradle文件,输入如下语句:
git add build.gradle
git add app(app为一个目录)
git add .
4、提交代码的指令
git commit -m "First commit."(-m后面的内容为一个自定义的语句)
5、常规提交代码指令整合:
git init
git add .
git commit -m "First commit."
1.5 忽略文件
1、Git提供了一种可配型很强的机制来允许用户将指定的文件或目录排除在版本控制之外,以便于使用者按自己的要求添加文件
2、原理:该机制会检查代码仓库的目录下是否存在一个名为**.gitignore**的文件,若存在,就去一行行读取整文件中的内容,并把每一行指定的文件或目录排除在版本控制之外
3、关于.gitignore文件:AS自动创建了两个.gitignore文件,一个在根目录下,一个在app模块下,这些文件里的目录所对应的文件都是武学添加到版本控制之中的
4、上面两个文件中的内容是可以随意修改的,修改要求:观察想要排除在版本控制之外的文件与哪一个.gitignore文件是平级的,就添加到哪个.gitignore文件当中,如现在要将app模块下的test和androidTest文件排除在版本控制之外,则需这么写:
5、在修改完以后,就输入提交代码的指令
git add .
git commit -m "First commit."
现在添加上述语句,通过在项目的根目录下输入如下命令查看修改情况
git status
可以通过diff命令查看到所有文件的更改内容
git diff
git diff app/src/main/java/com/example/Test/MainActivity.java
1.7 撤销未提交的修改
若代码没有提交,即没有执行add命令,可通过checkout命令进行撤销
git checkout app/src/main/java/com/example/Test/MainActivity.java
若代码已经提交,即执行了add命令,需通过reset命令进行撤销
git reset HEAD app/src/main/java/com/example/Test/MainActivity.java
1.8 查看提交记录
1、通过log命令查看提交记录
git log
提交记录的内容:提交id、提交人、提交日期、提交描述
2、可以根据记录中的id,并加上-1参数表示只想看到一行记录
git log 记录的id -1
3、在上述命令后面再加上 -p 查看这条提交记录具体修改了什么内容
git log 记录的id -1 -p
1.9 分支的用法
分支的作用:在现有代码的基础之上开辟一个分叉口,使得代码可以在主干线和分支线上同时进行开发,且相互不会影响
1、查看分支的指令
git branch
2、创建一个新的分支
git branch version1.0
3、在查看分支时,分之前的*号表示当前位于哪个分支,切换分支的语句
git checkout version1.0
4、在version1.0这个分支上修复了一个bug,并让该修复结果让master分支上的bug也修复,命令如下
git checkout master
git merge version1.0
5、删除分支
git branch -D version1.0
1.20 与远程版本库协作
1、通过远程的版本库可以实现Git中多人合作写代码实现远程开发。
2、现在假设有一个远程版本库的Git地址为https://github.com/example/test.git,现在用如下命令将代码下载到本地
git clone https://github.com/example/test.git
git push origin master
其中origin 部分指定的是远程版本库的Git地址,master部分指定的是同步到哪一个分支上
4、通过fetch和pull指令将远程版本库上的修改同步到本地,两者语法相近
git fetch origin master
5、同步下来的代码不会合并到任何分支上,而是会存放到一个origin/master分支上,可以通过如下命令来查看远程版本库上修改了哪些东西
git diff origin/master
6、调用merge命令可以将origin/master分支上的修改合并到主分支上
git merge origin/master
7、pull命令相当于把fetch和merge这两个命令的作用合并在了一起,直接将远程版本库上获取到的最新的代码合并到本地
git pull origin master
二、GitHub
2.1 将代码托管到GitHub上