first meetingwithgit
TRANSCRIPT
![Page 1: First meetingwithgit](https://reader033.vdocuments.site/reader033/viewer/2022060120/559196fa1a28abdf668b4622/html5/thumbnails/1.jpg)
我和我和 GitGit 有个约会有个约会
Part APart A:初识:初识 GitGit
马利 马利 (richard_ma)(richard_ma)[email protected]@gmail.com
Blog: www.richardma.orgBlog: www.richardma.org
![Page 2: First meetingwithgit](https://reader033.vdocuments.site/reader033/viewer/2022060120/559196fa1a28abdf668b4622/html5/thumbnails/2.jpg)
我们将讨论些什么?我们将讨论些什么?
➔基本概念基本概念➔基本操作基本操作➔工作方式工作方式
![Page 3: First meetingwithgit](https://reader033.vdocuments.site/reader033/viewer/2022060120/559196fa1a28abdf668b4622/html5/thumbnails/3.jpg)
本地版本控制系统本地版本控制系统
![Page 4: First meetingwithgit](https://reader033.vdocuments.site/reader033/viewer/2022060120/559196fa1a28abdf668b4622/html5/thumbnails/4.jpg)
集中式版本控制系统集中式版本控制系统
![Page 5: First meetingwithgit](https://reader033.vdocuments.site/reader033/viewer/2022060120/559196fa1a28abdf668b4622/html5/thumbnails/5.jpg)
分布式版本控制系统分布式版本控制系统
![Page 6: First meetingwithgit](https://reader033.vdocuments.site/reader033/viewer/2022060120/559196fa1a28abdf668b4622/html5/thumbnails/6.jpg)
GitGit的由来的由来
LinusLinus无奈的结果无奈的结果
一切伟大的行动和思想,都有一个微不足道的开始!
![Page 7: First meetingwithgit](https://reader033.vdocuments.site/reader033/viewer/2022060120/559196fa1a28abdf668b4622/html5/thumbnails/7.jpg)
GitGit哲学哲学
➔ 速度速度
➔ 简单的设计简单的设计
➔ 完全分布式完全分布式
➔ 对非线性开发模式的强力支持(允许上千个并行对非线性开发模式的强力支持(允许上千个并行开发的分支)开发的分支)
➔ 有能力高效管理类似 有能力高效管理类似 Linux Linux 内核一样的超大规内核一样的超大规模项目(速度和数据量)模项目(速度和数据量)
![Page 8: First meetingwithgit](https://reader033.vdocuments.site/reader033/viewer/2022060120/559196fa1a28abdf668b4622/html5/thumbnails/8.jpg)
GitGit仓库的整体结构仓库的整体结构
![Page 9: First meetingwithgit](https://reader033.vdocuments.site/reader033/viewer/2022060120/559196fa1a28abdf668b4622/html5/thumbnails/9.jpg)
安装安装 GitGit➔从源码编译安装从源码编译安装此部分省略若干字此部分省略若干字
➔安装编译好的包安装编译好的包$$ sudo aptget install gitcore sudo aptget install gitcore
➔UbuntuUbuntu下的安装包说明下的安装包说明➔ git-coregit-core gitgit核心核心➔ git-arch git-cvs git-svn git-arch git-cvs git-svn 支持相应的版本管理系统导入到支持相应的版本管理系统导入到 gitgit➔ git-web git-guigit-web git-gui 对应的管理界面对应的管理界面➔ gitkgitk 管理管理 gitgit历史的图形化程序历史的图形化程序➔ git-emailgit-email 支持支持 gitgit发送邮件发送邮件➔ git-daemon-rungit-daemon-run 支持支持 git://git://协议访问协议访问➔ git-buildpackagegit-buildpackage debdeb包打包的脚本包打包的脚本➔ gitosisgitosis 创建创建 gitgit服务器的脚本服务器的脚本➔ git-docgit-doc 有关有关 gitgit的文档的文档
![Page 10: First meetingwithgit](https://reader033.vdocuments.site/reader033/viewer/2022060120/559196fa1a28abdf668b4622/html5/thumbnails/10.jpg)
创建仓库创建仓库➔初始化一个空的仓库初始化一个空的仓库$$ mkdir projectname mkdir projectname$$ cd projectname cd projectname$$ git init git init
➔将现有本地仓库和远程仓库关联将现有本地仓库和远程仓库关联$$ git remote add \ git remote add \[name: origin] \[name: origin] \[email protected]:username/project[email protected]:username/projectname.git
➔从其他已有仓库从其他已有仓库 cloneclone$$ git clone \ git clone \[email protected]:username/projectname.git \[email protected]:username/projectname.git \[projectname][projectname]
![Page 11: First meetingwithgit](https://reader033.vdocuments.site/reader033/viewer/2022060120/559196fa1a28abdf668b4622/html5/thumbnails/11.jpg)
操纵本地仓库操纵本地仓库➔将文件纳入版本控制将文件纳入版本控制$$ git add simplefile.c git add simplefile.c
➔提交修改提交修改$$ git commit git commit
➔签出代码签出代码$$ git checkout git checkout
➔查看状态查看状态$$ git status git status$$ git log git log
![Page 12: First meetingwithgit](https://reader033.vdocuments.site/reader033/viewer/2022060120/559196fa1a28abdf668b4622/html5/thumbnails/12.jpg)
与远程仓库同步与远程仓库同步
➔推送到远程服务器推送到远程服务器$$ git push \ git push \<remotename: origin> \<remotename: origin> \<branchname: master><branchname: master>
➔从远程服务器获得更新从远程服务器获得更新$$ git fetch \ git fetch \<remotename: origin> \<remotename: origin> \<branchname: master><branchname: master>
$$ git pull \ git pull \<remotename: origin> \<remotename: origin> \<branchname: master><branchname: master>
自动合并自动合并 branchbranch
手动合并手动合并 branchbranch
![Page 13: First meetingwithgit](https://reader033.vdocuments.site/reader033/viewer/2022060120/559196fa1a28abdf668b4622/html5/thumbnails/13.jpg)
工作流工作流 AA:集中模式:集中模式
![Page 14: First meetingwithgit](https://reader033.vdocuments.site/reader033/viewer/2022060120/559196fa1a28abdf668b4622/html5/thumbnails/14.jpg)
工作流工作流 BB:司令官模式:司令官模式
![Page 15: First meetingwithgit](https://reader033.vdocuments.site/reader033/viewer/2022060120/559196fa1a28abdf668b4622/html5/thumbnails/15.jpg)
工作流工作流 CC:司令官副官模式:司令官副官模式
![Page 16: First meetingwithgit](https://reader033.vdocuments.site/reader033/viewer/2022060120/559196fa1a28abdf668b4622/html5/thumbnails/16.jpg)
Questions?Questions?
![Page 17: First meetingwithgit](https://reader033.vdocuments.site/reader033/viewer/2022060120/559196fa1a28abdf668b4622/html5/thumbnails/17.jpg)
参考文献参考文献
✔Git DocumentsGit Documents安装安装 git-docgit-doc包,包, /usr/share/doc/git-doc/usr/share/doc/git-doc
✔Pro GitPro Githttp://www.progit.orghttp://www.progit.org
✔UbuntuUbuntu安装包说明安装包说明http://hi.chibaole.com/blog/2009/12/16/http://hi.chibaole.com/blog/2009/12/16/在在 ubuntuubuntu下安装下安装 git/git/