这是我参与「 第五届青训营 」伴学笔记创作活动的第 12 天
-
远程仓库区:代码最终提交位置。
-
远端分支本地副本:主要储存了远程仓库各分支数据在本地的一个副本。打开Git项目下的
.git
文件的refs/remotes
,这里就主要存的就是远程仓库的分支信息,一般执行的push
或者pull
、fetch
就是往这里进行更新。 -
本地分支:是在执行
commit
之后,本质上提交到的区域。可以通过查看.git
目录下的refs/heads
目录,里面存的就是本地的分支代码信息。 -
暂存区:这个区域就是每次执行
git add
之后会存到的区域,用来与本地仓库之间做一个缓存,同时也是 Git 底层设计上来说也算是比较重要的一个区域,它能帮助 Git 在做diff
的时候提高查找性能。 -
工作区:通常来说就是写代码的地方,进行代码编辑的位置。
git工作流的简单理解
- 在GitHub/Gitee/Gitlab创建一个仓库
- 在新项目中从master主分支处cheakout一个新的feature分支进行开发
- 当完成一类开发后,通过执行git add ./ 将代码提交到暂存区
- git commit 将代码提交到本地仓库
- git push 将代码提交到远端分支
- 测试分支:设立一个专门用于测试的分支dev,将代码合并到该测试分支上,发布测试环境进行测试。
- 合并代码:测试无误后,可以发起一个merge request,将代码走CR流程合并到master分支
- 合并分支并解决冲突:提交MR过程中,需预先将master分支的代码合并,提交,解决冲突。
以上流程以及介绍参考了过往操作以及文章:女朋友说 Git 玩不明白,怎么办?安排!
相关常用git操作介绍(俺用过的)
git init
除了我们从远端建仓库,有的时候我们自己本地也是可以自己初始化一个 Git 仓库来操作的,这个时候我们就直接使用 git init 就能轻松为当前目录创建一个 git 仓库,也就能开始对当前目录的改动纳入版本管理库了。 不过本地 init 的仓库没法和远端进行交互,所以我们还是需要去 github/gitlab 创建一个远端仓库,然后关联一下,也就是
git remote
命令了。git remote
用于和远程仓库进行关系绑定处理等等操作。
git remote add
: 添加一个远程版本库关联git remote rm
: 删除某个远程版本库关联 比如我们本地有个初始化好的仓库,同时还有一个创建好的远程空仓库,那么我们就可以执行一下操作让他们关联起来:
git remote add origin xxx.git
先添加到本地仓库git push -u origin master
:表示把当前仓库的 master 分支和远端仓库的 master 分支关联起来,后面我们执行 push 或者 pull 都可以非常方便的进行操作了。
将仓库代码拉到本地:clone
git clone xxxxxxxxxx.git
拉到本地并自动切换到指定分支
git clone xxxxxxxxxx.git -b branchName
拉到本地以后发现忘记加上-b,只好手动切换到指定分支(创建并切换到新分支)
git checkout -b branchName
查看仓库有哪些分支:branch
查一手本地所有的分支信息
git branch
查一手远程仓库的全部分支信息
git branch -r
分开查好麻烦,想一起查一手
git branch -a
推荐一些个不错的教程帮助我们更快掌握
或许无法帮助你获得女朋友但可以获得git技能的文章(前面的内容有多处引用已做标注):女朋友说 Git 玩不明白,怎么办?安排!
GitHub工作流教程视频:十分钟学会正确的github工作流,和开源作者们使用同一套流程
根据git的经典操作场景快速学习:45个 GIT 经典操作场景,专治不会合代码
进入我的下一篇内容进一步了解git小白傻傻使用的学习路程:Git 基础学习与使用(下) | 青训营笔记