开发工具:
文件大小: 4mb
下载次数: 0
上传时间: 2012-05-15
详细说明: pro git 中文版 目录 1起步 1 1.1关于版本控制 ............................ 1 1.1.1本地版本控制系统 ...................... 1 1.1.2集中化的版本控制系统 .................... 1 1.1.3分布式版本控制系统 ..................... 2 1.2Git的历史 ............................. 3 1.3Git基础要点 ............................ 4 1.3.1直接快照,而非比较差异 ................... 4 1.3.2近乎所有操作都可本地执行 .................. 5 1.3.3时刻保持数据完整性 ..................... 5 1.3.4多数操作仅添加数据 ..................... 5 1.3.5三种状态 .......................... 6 1.4安装Git .............................. 7 1.4.1从源代码安装 ...................... .. 7 1.4.2在Linux上安装 ....................... 7 1.4.3在Mac上安装 ........................ 8 1.4.4在Windows上安装 ...................... 8 1.5初次运行Git前的配置 ....................... 9 1.5.1用户信息 .......................... 9 1.5.2文本编辑器 ......................... 9 1.5.3差异分析工具 ........................ 10 1.5.4查看配置信息 ........................ 10 1.6获取帮助 .............................. 10 1.7小结 ................................ 11 2Git基础 13 2.1取得项目的Git仓库 ........................ 13 2.1.1从当前目录初始化 ...................... 13 2.1.2从现有仓库克隆 ....................... 14 2.2记录每次更新到仓库 ......................... 14 2.2.1检查当前文件状态 ...................... 14 2.2.2跟踪新文件 ......................... 15 2.2.3暂存已修改文件 ....................... 16 2.2.4忽略某些文件 ........................ 17 2.2.5查看已暂存和未暂存的更新 .................. 18 2.2.6提交更新 .......................... 20 iii2.2.7跳过使用暂存区域 ...................... 21 2.2.8移除文件 .......................... 22 2.2.9移动文件 .......................... 23 2.3查看提交历史 ............................ 24 2.3.1限制输出长度 ........................ 28 2.3.2使用图形化工具查阅提交历史 ................. 29 2.4撤消操作 .............................. 29 2.4.1修改最后一次提交 ...................... 29 2.4.2取消已经暂存的文件 ..................... 30 2.4.3取消对文件的修改 ...................... 31 2.5远程仓库的使用 ........................... 31 2.5.1查看当前的远程库 ...................... 32 2.5.2添加远程仓库 ........................ 32 2.5.3从远程仓库抓取数据 ..................... 33 2.5.4推送数据到远程仓库 ..................... 33 2.5.5查看远程仓库信息 ...................... 34 2.5.6远程仓库的删除和重命名 ................... 35 2.6打标签 ............................... 35 2.6.1列显已有的标签 ....................... 35 2.6.2新建标签 .......................... 36 2.6.3含附注的标签 ........................ 36 2.6.4签署标签 .......................... 37 2.6.5轻量级标签 ......................... 37 2.6.6验证标签 .......................... 38 2.6.7后期加注标签 ........................ 38 2.6.8分享标签 .......................... 39 2.7技巧和窍门 ............................. 40 2.7.1自动完成 .......................... 40 2.7.2Git命令别名 ........................ 41 2.8小结 ................................ 42 3Git分支 43 3.1何谓分支 .............................. 43 3.2基本的分支与合并 .......................... 47 3.2.1基本分支 .......................... 48 3.2.2基本合并 .......................... 51 3.2.3冲突的合并 ......................... 52 3.3分支管理 .............................. 54 3.4分支式工作流程 ........................... 55 3.4.1长期分支 .......................... 56 3.4.2特性分支 .......................... 56 3.5远程分支 .............................. 57 3.5.1推送 ............................ 59 3.5.2跟踪分支 .......................... 61 3.5.3删除远程分支 ........................ 62 3.6衍合 ................................ 62 iv3.6.1衍合基础 .......................... 62 3.6.2更多有趣的衍合 ....................... 64 3.6.3衍合的风险 ......................... 66 3.7小结 ................................ 68 4服务器上的Git 69 4.1协议 ................................ 69 4.1.1本地协议 .......................... 69 优点 ............................ 70 缺点 ............................ 70 4.1.2SSH协议 .......................... 70 优点 ............................ 71 缺点 ............................ 71 4.1.3Git协议 .......................... 71 优点 ............................ 71 缺点 ............................ 72 4.1.4HTTP/S协议 ......................... 72 优点 ............................ 72 缺点 ............................ 73 4.2在服务器部署Git .......................... 73 4.2.1将纯目录转移到服务器 .................... 73 4.2.2小型安装 .......................... 74 SSH连接 .......................... 74 4.3生成SSH公钥 ........................... 75 4.4架设服务器 ............................. 76 4.5公共访问 .............................. 78 4.6网页界面GitWeb .......................... 79 4.7权限管理器Gitosis ......................... 80 4.8Git进程 .............................. 84 4.9Git托管服务 ............................ 86 4.9.1GitHub ........................... 87 4.9.2建立账户 .......................... 87 4.9.3建立新仓库 ......................... 87 4.9.4从Subversion中导入项目 .................. 89 4.9.5开始合作 .......................... 90 4.9.6项目页面 .......................... 91 4.9.7派生(forking)项目 ..................... 92 4.9.8GitHub小节 ......................... 93 4.10小节 ................................ 93 5分布式Git 95 5.1分布式工作流程 ........................... 95 5.1.1集中式工作流 ........................ 95 5.1.2集成管理员工作流 ...................... 96 5.1.3司令官与副官工作流 ..................... 97 5.2为项目作贡献 ............................ 97 v5.2.1提交指南 .......................... 98 5.2.2私有的小型团队 ....................... 99 5.2.3私有团队间协作 ....................... 104 5.2.4公开的小型项目 ....................... 108 5.2.5公开的大型项目 ....................... 112 5.2.6小结 ............................ 114 5.3项目的管理 ............................. 114 5.3.1使用特性分支进行工作 .................... 115 5.3.2采纳来自邮件的补丁 ..................... 115 使用apply命令应用补丁 ................... 115 使用am命令应用补丁 .................... 116 5.3.3检出远程分支 ........................ 118 5.3.4决断代码取舍 ........................ 118 5.3.5代码集成 .......................... 119 合并流程 .......................... 120 大项目的合并流程 ...................... 122 衍合与挑拣(cherry-pick)的流程 ............... 122 5.3.6给发行版签名 ........................ 123 5.3.7生成内部版本号 ....................... 124 5.3.8准备发布 .......................... 125 5.3.9制作简报 .......................... 125 5.4小结 ................................ 126 6Git工具 127 6.1修订版本(Revision)选择 ...................... 127 6.1.1单个修订版本 ........................ 127 6.1.2简短的SHA .......................... 127 6.1.3关于SHA-1的简短说明 .................... 128 6.1.4分支引用 .......................... 129 6.1.5引用日志里的简称 ...................... 129 6.1.6祖先引用 .......................... 130 6.1.7提交范围 .......................... 132 双点 ............................ 132 多点 ............................ 133 三点 ............................ 133 6.2交互式暂存 ............................. 134 6.2.1暂存和撤回文件 ....................... 134 6.2.2暂存补丁 .......................... 136 6.3储藏(Stashing) .......................... 137 6.3.1储藏你的工作 ........................ 138 6.3.2从储藏中创建分支 ...................... 139 6.4重写历史 .............................. 140 6.4.1改变最近一次提交 ...................... 140 6.4.2修改多个提交说明 ...................... 141 6.4.3重排提交 .......................... 142 6.4.4压制(Squashing)提交 ..................... 143 vi6.4.5拆分提交 .......................... 144 6.4.6核弹级选项:filter-branch .................. 144 从所有提交中删除一个文件 .................. 144 将一个子目录设置为新的根目录 ................ 145 全局性地更换电子邮件地址 .................. 145 6.5使用Git调试 ........................... 146 6.5.1文件标注 .......................... 146 6.5.2二分查找 .......................... 147 6.6子模块 ............................... 148 6.6.1子模块初步 ......................... 149 6.6.2克隆一个带子模块的项目 ................... 151 6.6.3上层项目 .......................... 153 6.6.4子模块的问题 ........................ 153 6.7子树合并 .............................. 154 6.8总结 ................................ 156 7自定义Git 157 7.1配置Git .............................. 157 7.1.1客户端基本配置 ....................... 157 core.editor ......................... 158 commit.template ....................... 158 core.pager ......................... 159 user.signingkey ....................... 159 core.excludesfile ...................... 159 help.autocorrect ...................... 159 7.1.2Git中的着色 .......................... 160 color.ui .......................... 160 color.* ........................... 160 7.1.3外部的合并与比较工具 .................... 160 7.1.4格式化与空白 ........................ 163 core.autocrlf ........................ 163 core.whitespace ....................... 164 7.1.5服务器端配置 ........................ 164 receive.fsckObjects ..................... 164 receive.denyNonFastForwards ................. 165 receive.denyDeletes ..................... 165 7.2Git属性 .............................. 165 7.2.1二进制文件 ......................... 165 识别二进制文件 ....................... 165 比较二进制文件 ....................... 166 7.2.2关键字扩展 ......................... 168 7.2.3导出仓库 .......................... 170 export-ignore ........................ 170 export-subst ........................ 170 7.2.4合并策略 .......................... 171 7.3Git挂钩 .............................. 171 vii7.3.1安装一个挂钩 ........................ 171 7.3.2客户端挂钩 ......................... 171 提交工作流挂钩 ....................... 171 E-mail工作流挂钩 ...................... 172 其他客户端挂钩 ....................... 172 7.3.3服务器端挂钩 ........................ 173 pre-receive和post-receive ................. 173 update ........................... 173 7.4Git强制策略实例 .......................... 173 7.4.1服务端挂钩 ......................... 173 指定特殊的提交信息格式 ................... 174 实现基于用户的访问权限控制列表(ACL)系统 .......... 175 只允许Fast-Forward类型的推送 ............... 177 7.4.2Client-SideHooks ...................... 179 7.5总结 ................................ 182 8Git与其他系统 183 8.1Git与Subversion ......................... 183 8.1.1gitsvn ........................... 183 8.1.2初始设定 .......................... 184 8.1.3入门 ............................ 184 8.1.4提交到Subversion ...................... 186 8.1.5拉取最新进展 ........................ 187 8.1.6Git分支问题 ........................ 188 8.1.7Subversion分支 ....................... 189 创建新的SVN分支 ...................... 189 8.1.8切换当前分支 ........................ 190 8.1.9对应Subversion的命令 ................... 190 SVN风格的历史 ....................... 190 SVN日志 .......................... 191 SVN服务器信息 ....................... 191 略Subversion之所略 .................... 192 8.1.10Git-Svn总结 ........................ 192 8.2迁移到Git ............................. 192 8.2.1导入 ............................ 192 8.2.2Subversion ......................... 193 8.2.3Perforce .......................... 194 8.2.4自定导入脚本 ........................ 196 8.3总结 ................................ 201 9Git内部原理 203 9.1底层命令(Plumbing)和高层命令(Porcelain) ............. 203 9.2Git对象 .............................. 204 9.2.1tree(树)对象 ....................... 206 9.2.2commit(提交)对象 ..................... 208 9.2.3对象存储 .......................... 210 viii9.3GitReferences ........................... 212 9.3.1HEAD标记 .......................... 213 9.3.2Tags ............................ 214 9.3.3Remotes ........................... 215 9.4Packfiles ............................. 216 9.5TheRefspec ............................ 218 9.5.1推送Refspec ........................ 220 9.5.2删除引用 .......................... 221 9.6传输协议 .............................. 221 9.6.1哑协议 ........................... 221 9.6.2智能协议 .......................... 223 上传数据 .......................... 223 下载数据 .......................... 224 9.7维护及数据恢复 ........................... 225 9.7.1维护 ............................ 225 9.7.2数据恢复 .......................... 226 9.7.3移除对象 .......................... 228 ...展开收缩
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.