之前学习git的时候都没有好好学,最近工作中逐渐需要使用git,因此打算稍微系统的学习一下。此次主要是学习廖雪峰老师的GIT教程并用xmind进行简单归纳
0、知识点框架
在这里插入图片描述该廖雪峰的GIT教程中,主要按照以上几个内容进行讲解:
- 创建版本库:介绍基础的创建版本库并提交文件的方法
- 时光穿梭机:介绍如何版本的回退,撤销修改以及删除文件等方法
- 远程仓库:介绍如何添加远程仓库以及从远程仓库克隆文件到本地的方法
- 分支管理:介绍如何使用git的分支管理的方法进行工作和多人协作
- 标签管理:介绍如何git标签的相关操作
- 自定义git:介绍如何修改git的配置使之符合自己的工作习惯
接下来分别按照以上几个部分记录我用xmind做的学习笔记
1 创建版本库
在这里插入图片描述此部分主要讲了使用git init; git add; git commit -m "<message>" 等指令来创建本地的git仓库,并将文件添加提交到仓库,同时使用git status; git diff <file>来查看状态和diff。这些都是很基础,很常用并且很重要的git指令。
2 时光机穿梭
在这里插入图片描述此部分主要介绍了在我们工作过程中,对各种修改需要回退撤销的方法。
2.1 工作区、暂存区、仓库
在这之前需要首先了解工作区,暂存区和仓库之间的区别。
- 工作区:就是我们当前编写代码工作的目录
- 暂存区:在.git中暂时存放添加文件地方,git add <file>指令就是将文件添加到暂存区,此处还不是仓库
- 仓库:真正git管理的代码仓库
2.2 撤销修改
本节的撤销修改包括xmind中的“撤销修改”和“版本回退”。
撤销修改主要分为这三种情况:
-
撤销工作区的修改
使用 git checkout -- <file> ,注意此处的checkout后面需要添加 -- -
不仅修改了工作区,还add到了暂存区,此时想丢弃修改
git reset HEAD <file> 把暂存区的修改回退到工作区,再使用 git checkout -- <file> 可进一步撤销工作区的修改 -
不仅修改了工作区,add到暂存区,甚至提交到了仓库,此时想回到上一版本
git reset --hard HEAD^ 回退到上一版本;
git reset --hard HEAD^^ 回退到上上一版本;
git reset --hard HEAD~10 回退到前面第10个版本;
git reset --hard <commit_id> 回退到commit_id对应的版本,其中commit_id可以通过git log或者git reflog查看历史日志来查找
2.3 删除文件
使用rm删除本地文件之后,再使用git rm <file> ; git commit -m <message> 删除git中的文件
3 远程仓库
在这里插入图片描述此部分主要讲如何与远程仓库(如github)进行连接,并上传或下拉代码。
3.1 先有本地库,后有远程库
此种情况需要将本地库添加到远程库,使用git remote add origin git@server-name:path/repo-name.git 关联一个远程仓库,然后将本地的代码推送push到远程库。第一次推送 git push -u origin <branch> ; 非第一次推送 git push origin <branch>
3.2 先有远程库,后有本地库
此种情况需要将远程库克隆clone到本地,使用git clone git@server-name:path/repo-name.git
4 分支管理
在这里插入图片描述分支管理相关的指令操作参看廖老师的教程或者上面的xmind截图,以下标记一些个人觉得重要的地方。
- 一般创建出来的分支需要先合并再删除 git branch -d <name>,但是如果想要删除还没有经过合并的分支的话,使用 git branch -D <name>
- 在多人协作过程中,合并分支的时候可能会出现冲突,须先解决冲突,再提交,合并
- 在工作区进行修改之后,需要先进行add/commit提交或者stash保存工作现场,然后才能切换到其他分支
标签管理
在这里插入图片描述发布一个版本时,我们通常先在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。所以,标签也是版本库的一个快照。
网友评论