Git远程仓库 分支
Learn
读书笔记
REF: https://git-scm.com/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E8%BF%9C%E7%A8%8B%E4%BB%93%E5%BA%93%E7%9A%84%E4%BD%BF%E7%94%A8
- 远程仓库是指托管在因特网或其它网络中的你的项目的版本库
- 你可以有好几个远程仓库
- 有些仓库对你只读,有些则可以读写。
- 与他人协作涉及管理远程仓库及根据需要推送或拉取数据。
- 管理远程仓库包括
5.1 添加远程仓库
5.2 移除远程仓库
5.3 管理不同的远程分支
5.4 定义他们是否被跟踪
- 添加一个远程仓库并fetch后,可以在本地通过 upstream/master访问到
- 你可以将它合并到自己的某个分支中,或者如果你想要查看它的话,可以检出一个指赂该点的本地分支。
- git fetch 命令会将数据拉取到你的本地仓库 - * 它不会自动合并或修改你当前的工作。当准备好时你必须手动其合并入你的工作。
- 如果一个分支设置为跟踪一个远程分支,可以使用Git pull命令自动抓取然后合并运程分支到当前分支
- 默认git clone命令会自动调协本地master分支跟踪克隆
$ git remote -v
$ git push origin master
$ git remote show origin
分支
提交对象包括
- 指向暂存内容快照的指针
- 作者的姓名和邮箱
- 提交时输入的信息
- 指向它的父对象的指针
- 首次提交没有父对象
- 普通提交产生的提交对象有一个父对象
- 由多个分支合并产生的提交对象有多个父对象
git commit3个文件之后,git仓库中有5个对象
- 三个blog对象(保存着文件快照)
- 一个树对象(记录着目录结构和blgo对象的索引)
- 一个提交对象(如上,包含着指向前述对象的指针和所有提交信息)
修改后的提交产生的提交对像会包含指赂上次提交对象的指针
git的分支,本质上仅仅是指向提交对象的可变指针