git基础知识 | 青训营笔记
这是我参与「第四届青训营 」笔记创作活动的第8天
一、项目简介
项目是实现极简版抖音,在本次笔记中主要是记录git的基础知识与简单应用
二、涉及技术&知识点
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 github.com/example/tes… 版本同步:git push origin master (origin部分指定的是远程版本库的Git地址,master部分指定的是同步到哪一个分支上,上述命令就完成了将本地代码同步到github.com/example/tes…
三、实践过程
将远程版本库上的修改同步到本地。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
四、总结思考
本次笔记记录了git操作的基本知识,对于大项目的进展很有帮助。
五、 引用参考
本文主要参考了郭霖著的《第一行代码》。