版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.,Git新一代版本控制系统,superwen,.,Git 简史,Linux 内核开源项目有着为数众广的参与者。一开始整个项目组BitKeeper 来管理和维护代码。2005 年, BitKeeper不再能免费使用,这就迫使Linux 开源社区开发一套属于自己的版本控制系统。 自诞生于 2005 年以来,Git 日臻成熟完善,它的速度飞快,极其适合管理大项目,它还有着令人难以置信的非线性分支管理系统,可以应付各种复杂的项目开发需求。,.,Git 基础,直接记录快照,而非差异比较。 近乎所有操作都是本地执行 时刻保持数据完整性 多数操作仅添加数据 文件的三种状态-已修改(modified)、已暂
2、存(staged)和已提交(committed),.,为什么要使用Git,本地建立版本库 本地版本控制 多主机异地协同工作 重写提交说明 有后悔药可以吃 更好用的提交列表 更好的差异比较。 更完善的分支系统 代理SVN提交实现移动式办公 无处不在的分页器 速度快,.,在Linux下安装Git,使用包安装,以centos为例 $ yum install git $ yum install git-svn git-email git-gui gitk 使用源代码安装 从官网下载源码 http:/git- $ tar jxvf git-version.tar.bz2 $ cd git-version
3、 $ make prefix=/usr/local all $ sudo make install prefix=/usr/local,.,在Windows下安装Git(Cygwin),通过Cygwin安装(不建议) 通过msysGit 完成安装之后,就可以使用命令行的git工具(已经自带了 ssh 客户端)了,另外还有一个图形界面的 Git 项目管理工具。 可视化工具TortoiseGit tortoisegit,.,Git 的配置,#查看版本 $ git -version #配置 $ git config -global John Doe $ git config -g
4、lobal user.email /-system 系统配置 /-global 该用户的全局配置 #查看配置信息 $ git config -list $ git config #获取帮助,任意一个都可以 $ git help config $ git config -help $ man git-config,.,Git 的初始化新仓库,#在工作目录中初始化新仓库 $ cd myproject $ git init #从现有仓库克隆,克隆完整数据,包括版本信息 $ git clone git:/ $ git clone git:/ mygrit #检查当前文件状态 $ g
5、it 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 的比较,#查看尚未暂存的文件更新了
6、哪些部分 $ 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 gri
7、t.gemspec,.,Git 的移除文件,#移除文件 $ git rm grit.gemspec #移除已经修改的文件 $ git rm grit.gemspec-f #仅仅从暂缓区移除 $ git rm grit.gemspec #移动文件 $ git mv file_from file_to,.,Git 的查看提交历史,#查看提交历史 $ git log -p 展开显示每次提交的内容差异 -n 则仅显示最近的n次更新 -stat,仅显示简要的增改行数统计 -pretty=format:%h - %an, %ar : %s,.,Git 的修改最后一次提交,#修改最后一次提交 $ git c
8、ommit -m initial commit $ git add forgotten_file $ git commit amend #上面的三条命令最终只是产生一个提交. #取消已经暂存的文件 $ git reset HEAD benchmarks.rb #取消对文件的修改 $ git checkout - benchmarks.rb,.,Git 的远程仓库,#查看当前的远程库 $ git remote #显示对应的克隆地址(origin 为默认的远程库名称) $ git remote v #添加远程仓库 $ git remote add pb git:/,.,Git 的远程仓库,#从远程
9、仓库抓取数据 #fetch 命令只是将远端的数据拉到本地仓库,并不自动合并到当前工作分支 $ git fetch remote-name #推送数据到远程仓库 $ git push origin master,.,Git 的远程仓库,#查看远程仓库信息 $ git remote show origin #远程仓库的重命名 $ git remote rename pb paul #远程仓库的删除 $ git remote rm paul,.,Git 的标签,#列显已有的标签 $ git tag #列出符合条件的标签 $ git tag -l v1.4.2.*,.,Git 的标签,#新建标签 #标
10、签有两种类型:轻量级的(lightweight)和含附注的(annotated) #创建一个轻量级标签 $ git tag v1.4-lw #创建一个含附注类型的标签非常简单 $ git tag -a v1.4 -m my version 1.4,.,Git 的标签,#分享标签 #默认情况下,git push 不会把标签传送到远端服务器 $ git push origin v1.5 #一次推送所有本地新增的标签 $ git push origin -tags,.,Git 的技巧和窍门,#自动完成 #Windows 上安装了 msysGit,默认已经配好了这个自动完成脚本。 #Linux 上 $
11、 cp $GitHomecontrib/completion/git-completion.bash /etc/bash_completion.d/,.,Git 的技巧和窍门,#Git 命令别名 $ git config -global alias.co checkout $ git config -global alias.br branch $ git config -global alias.last log -1 HEAD,.,Git 的分支,#创建分支 $ git branch testing #切换到分支 $ git checkout testing #创建并切换到分支 $ git
12、 checkout -b testing,.,Git 的分支,.,Git 的分支,.,Git 的分支,#与当前分支合并 $ git merge testing #合并时难免有冲突 #调用图形化工具解决冲突 $ git mergetool #删除分支(不能删除一个未合并的分支) $ git branch -d testing #强制删除一个分支 $ git branch -D testing,.,Git 的分支,.,Git 的分支,.,Git 的分支,#查看分支 $ git branch #查看分支最后一次提交的信息 $ git branch -v #查看已经合并|尚未合并的分支 $ git branch -merged|no-merged,.,Git 的分支,#同步远程服务器上的数据到本
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026江西南昌市东湖区人社局招聘就业见习人员1人考试参考题库及答案解析
- 酒店客房易耗品管理制度
- 2026上海市虹口区曲阳路街道社区卫生服务中心招聘卫生专业技术人员2人考试备考试题及答案解析
- 2026重庆飞驶特人力资源管理有限公司派往仙桃数据谷招聘笔试备考试题及答案解析
- 财产无争议离婚协议书
- 医用高能射线装备组装调试工岗前实操效果考核试卷含答案
- 柠檬酸微生物菌种工岗前理论实操考核试卷含答案
- 茶叶精制工安全文明强化考核试卷含答案
- 进口报告制度
- 2026年河南省郑州中牟县事业单位联考招聘考试备考试题及答案解析
- 2026广东广州市海珠区事业单位定向招聘社区党组织书记11人考试备考题库及答案解析
- 2026上海闵行区七宝镇村(合作社)、镇属公司招聘16人备考题库含答案详解(考试直接用)
- 中国人工智能学会中国人工智能系列白皮书-具身智能2026版
- 重塑努力理性对待考试 课件2025-2026学年高三下学期二模考后分析主题班会
- GJB3206B-2022技术状态管理
- 制药空调净化系统基础培训
- GB/T 42001-2022高压输变电工程外绝缘放电电压海拔校正方法
- GB/T 3478.1-2008圆柱直齿渐开线花键(米制模数齿侧配合)第1部分:总论
- 护理三基三严测试题库含答案
- 电气化铁路安全及行车组织课件
- APQP培训讲义优秀作品课件
评论
0/150
提交评论