first meetingwithgit

17
我和 我和 Git Git 有个约会 有个约会 Part A Part A :初识 :初识 Git Git 马利 马利 (richard_ma) (richard_ma) [email protected] [email protected] Blog: www.richardma.org Blog: www.richardma.org

Upload: rhythm-sun

Post on 30-Jun-2015

429 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: First meetingwithgit

我和我和 GitGit 有个约会有个约会

Part APart A:初识:初识 GitGit

马利 马利 (richard_ma)(richard_ma)[email protected]@gmail.com

Blog: www.richardma.orgBlog: www.richardma.org

Page 2: First meetingwithgit

我们将讨论些什么?我们将讨论些什么?

➔基本概念基本概念➔基本操作基本操作➔工作方式工作方式

Page 3: First meetingwithgit

本地版本控制系统本地版本控制系统

Page 4: First meetingwithgit

集中式版本控制系统集中式版本控制系统

Page 5: First meetingwithgit

分布式版本控制系统分布式版本控制系统

Page 6: First meetingwithgit

GitGit的由来的由来

LinusLinus无奈的结果无奈的结果

一切伟大的行动和思想,都有一个微不足道的开始!

Page 7: First meetingwithgit

GitGit哲学哲学

➔ 速度速度

➔ 简单的设计简单的设计

➔ 完全分布式完全分布式

➔ 对非线性开发模式的强力支持(允许上千个并行对非线性开发模式的强力支持(允许上千个并行开发的分支)开发的分支)

➔ 有能力高效管理类似 有能力高效管理类似 Linux Linux 内核一样的超大规内核一样的超大规模项目(速度和数据量)模项目(速度和数据量)

Page 8: First meetingwithgit

GitGit仓库的整体结构仓库的整体结构

Page 9: First meetingwithgit

安装安装 GitGit➔从源码编译安装从源码编译安装此部分省略若干字此部分省略若干字

➔安装编译好的包安装编译好的包$$ sudo apt­get install git­core sudo apt­get install git­core

➔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

创建仓库创建仓库➔初始化一个空的仓库初始化一个空的仓库$$ mkdir project­name mkdir project­name$$ cd project­name cd project­name$$ git init git init

➔将现有本地仓库和远程仓库关联将现有本地仓库和远程仓库关联$$ git remote add \ git remote add \[name: origin] \[name: origin] \[email protected]:user­name/project­[email protected]:user­name/project­name.git

➔从其他已有仓库从其他已有仓库 cloneclone$$ git clone \ git clone \[email protected]:user­name/project­name.git \[email protected]:user­name/project­name.git \[project­name][project­name]

Page 11: First meetingwithgit

操纵本地仓库操纵本地仓库➔将文件纳入版本控制将文件纳入版本控制$$ git add simple­file.c git add simple­file.c

➔提交修改提交修改$$ git commit git commit

➔签出代码签出代码$$ git checkout git checkout

➔查看状态查看状态$$ git status git status$$ git log git log

Page 12: First meetingwithgit

与远程仓库同步与远程仓库同步

➔推送到远程服务器推送到远程服务器$$ git push \ git push \<remote­name: origin> \<remote­name: origin> \<branch­name: master><branch­name: master>

➔从远程服务器获得更新从远程服务器获得更新$$ git fetch \ git fetch \<remote­name: origin> \<remote­name: origin> \<branch­name: master><branch­name: master>

$$ git pull \ git pull \<remote­name: origin> \<remote­name: origin> \<branch­name: master><branch­name: master>

自动合并自动合并 branchbranch

手动合并手动合并 branchbranch

Page 13: First meetingwithgit

工作流工作流 AA:集中模式:集中模式

Page 14: First meetingwithgit

工作流工作流 BB:司令官模式:司令官模式

Page 15: First meetingwithgit

工作流工作流 CC:司令官副官模式:司令官副官模式

Page 16: First meetingwithgit

Questions?Questions?

Page 17: First meetingwithgit

参考文献参考文献

✔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/