git基础知识
Git是一个开源的分布式版本控制工具
1.基本操作
- 1.首先配置一下你的身份,这样在提交代码的时候,Git就可以知道是谁提交的了。命令如下所示:
git config --global user.name "Tony"
git config --global user.email "tony@gmail.com"
name 和email后边换成自己的就可以了。
- 2.进入想要建立项目的文件夹,使用命令来完成创建代码仓库的操作。
git init
仓库创建完成后,会在项目的根目录下生成一个隐藏的.git目录,这个目录就是用来记录本地所有的Git操作的,如果你想要删除本地仓库,只需要删除这个目录就行了。
- 3.提交本地代码
添加build.gradle文件(可以换成自己的文件,以下相同)
git add build.gradle
添加整个app目录下的所有文件
git add app
添加所有的文件
git add .
提交文件
git commit -m "First commit."
过-m参数加上提交的描述信息(即自定义化信息),没有描述信息的提交被认为是不合法的。
2.忽略文件
修改.gitignore文件中的内容,可以指定文件(支持通配符),也可指定目录。这个文件中的内容会被忽略不会被提交。
3.查看修改内容
使用命令可以查看那些文件发生了修改。
git status
使用命令第一个可以查看所有文件的更该记录
第二个查看具体路径下具体文件的更改记录
git diff
git diff app/src/main/java/com/example/playvideotest/MainActivity.kt
ps:变更部分最左侧的加号代表新添加的内容。如果有删除内容的话,会在最左侧用减号表示。
4.撤销修改
对于未经过add命令的修改:
git checkout app/src/main/java/com/example/playvideotest/MainActivity.kt(文件路径文件名)
对于已经过add命令的修改:需要先取消添加再执行一边checkout
git reset HEAD app/src/main/java/com/example/playvideotest/MainActivity.kt(文件路径文件名)
5.查看提交记录
- 1.使用log命令查看历史提交信息,每次提交记录都会包含提交id、提交人、提交日期以及提交描述这4个信息。
git log
- 2.当提交记录非常多的时候,如果我们只想查看其中一条记录,可以在命令中指定该记录的id(进程id?):
git log 2960da5042b2dbf1abbb3691be1b18a6f446b844
- 3.在命令中通过参数指定查看最近的几次提交,比如 -1就表示我们只想看到最后一次的提交记录:
git log -1
6.分支
分支:主要的作用就是在现有代码的基础上开辟一个分叉口,使得代码可以在主干线和分支线上同时进行开发,且相互之间不会影响。
建立分支原因:
用于版本控制,假设2版本在1版本的基础上进行更改,发布的1版本如果出现了问题需要改正,那么便无法更改1版本了,因为不见了。
建立分支,保存一下分支线,便于各个版本之间进行控制。
基本操作:
- 查看当前版本库有什么分支:git branch
ps:主分支为master - 建立分支(建立名称为version1.0的分支):git branche version1.0
- 分支切换(切换到名称为version1.0的分支,当前在哪个分支上,哪个分支上边就有一个*号):git checkout version1.0
- 分支合并(两个分支上修改提交的内容进行合并):
git checkout master
git merge version1.0
(先跳转到master分支,然后将version1.0的分支合并到master主支上,但分支此时也不会消失) - 删除分支(删除名为version1.0的分支):git branch -D version1.0
7.与远程版本库协作
团队的每个成员都从版本库中获取最原始的代码,然后各自进行开发,并且以后每次提交的代码都同步到远程版本库上就可以了。另外,团队中的每个成员都要养成经常从版本库中获取最新代码的习惯,不然的话,大家的代码就很有可能经常出现冲突。
从github上下载代码: git clone https://github.com/example/test.git
版本同步:git push origin master
(origin部分指定的是远程版本库的Git地址,master部分指定的是同步到哪一个分支上,上述命令就完成了将本地代码同步到https://github.com/example/test.git这个版本库的master分支上的功能)
将远程版本库上的修改同步到本地。Git提供了两种命令来完成此功能,分别是fetch和pull。
1.fetch
fetch的语法规则和push是差不多的,如下所示:
git fetch origin master
执行完这个命令后,就会将远程版本库上的代码同步到本地。不过同步下来的代码并不会合并到任何分支上,而是会存放到一个origin/master分支上,这时我们可以通过diff命令来查
看远程版本库上到底修改了哪些东西:
git diff origin/master
之后再调用merge命令将origin/master分支上的修改合并到主分支上即可,如下所示:
git merge origin/master
2.pull
pull命令则是相当于将fetch和merge这两个命令放在一起执行了,它可以从远程版本库上获取最新的代码并且合并到本地,用法如下所示:
git pull origin master
2.pull
pull命令则是相当于将fetch和merge这两个命令放在一起执行了,它可以从远程版本库上获取最新的代码并且合并到本地,用法如下所示:
git pull origin master