- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[互联网]git内部培训资料
Git新一代版本控制系统
superwen
Git 简史
Linux 内核开源项目有着为数众广的参与者。一开始整个项目组BitKeeper 来管理和维护代码。 2005 年, BitKeeper不再能免费使用,这就迫使 Linux 开源社区开发一套属于自己的版本控制系统。
自诞生于 2005 年以来,Git 日臻成熟完善,它的速度飞快,极其适合管理大项目,它还有着令人难以置信的非线性分支管理系统,可以应付各种复杂的项目开发需求。
Git 基础
直接记录快照,而非差异比较。
近乎所有操作都是本地执行
时刻保持数据完整性
多数操作仅添加数据
文件的三种状态-已修改(modified)、已暂存(staged)和已提交(committed)
为什么要使用Git
本地建立版本库
本地版本控制
多主机异地协同工作
重写提交说明
有后悔药可以吃
更好用的提交列表
更好的差异比较。
更完善的分支系统
代理SVN提交实现移动式办公
无处不在的分页器
速度快
在Linux下安装Git
使用包安装,以centos为例
$ yum install git
$ yum install git-svn git-email git-gui gitk
使用源代码安装
从官网下载源码
$ tar –jxvf git-version.tar.bz2
$ cd git-version
$ make prefix=/usr/local all
$ sudo make install prefix=/usr/local
在Windows下安装Git(Cygwin)
通过Cygwin安装(不建议)
通过msysGit
/p/msysgit
完成安装之后,就可以使用命令行的 git 工具(已经自带了 ssh 客户端)了,另外还有一个图形界面的 Git 项目管理工具。
可视化工具TortoiseGit
/p/ tortoisegit
Git 的配置
#查看版本
$ git --version
#配置
$ git config --global John Doe
$ git config --global user.email johndoe@
//--system 系统配置
//--global 该用户的全局配置
#查看配置信息
$ git config --list
$ git config
#获取帮助,任意一个都可以
$ git help config
$ git config --help
$ man git-config
Git 的初始化新仓库
#在工作目录中初始化新仓库
$ cd myproject
$ git init
#从现有仓库克隆,克隆完整数据,包括版本信息
$ git clone git:///schacon/grit.git
$ git clone git:///schacon/grit.git mygrit
#检查当前文件状态
$ git status
Git 的跟踪文件
#跟踪新文件
$ git add *.c
#将文件添加到暂缓区,每次修改之后都需要将文件放到暂缓区去
$ git add *.c
#忽略某些文件
#修改 .gitignore
*.a # 忽略所有 .a 结尾的文件
!lib.a # 但 lib.a 除外
/TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
build/ # 忽略 build/ 目录下的所有文件
doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
Git 的比较
#查看尚未暂存的文件更新了哪些部分
$ git diff
#查看暂存区文件和上次提交的快照之间的差异
$ git diff --cached
Git 的提交更新
#提交更新
#每次准备提交前,先用 git status 看下,是不是都已暂
#存起来了,然后再运行提交命令
$ git commit
$ git commit -m initial project version
#跳过使用暂存区域
$ git commit -a
Git 的移除文件
#移除文件
$ git rm grit.gemspec
#移除已经修改的文件
$ git rm grit.gemspec-f
#仅仅从暂缓区移除
$ git rm grit.gemspec
Git 的移除文件
#移除文件
$ git rm grit.gemspec
#移除已经修改的文件
$ git rm grit.gemspec-f
#仅仅从暂缓区移除
$ git rm grit.gemspec
#移动文件
$ git mv
原创力文档


文档评论(0)