[Pro Git][Version 2.1.16][2018-09-11]

[Pro Git][Version 2.1.16][2018-09-11]

1 起步

1.1 关于版本控制

1.2 Git 简史

1.3 Git 基础

1.4 命令行

1.5 安装 Git

1.6 初次运行 Git 前的配置

1.7 获取帮助

1.8 总结

2 Git 基础

2.1 获取 Git 仓库

2.2 记录每次更新到仓库

2.3 查看提交历史

2.4 撤销操作

2.5 远程仓库的使用

2.6 打标签

2.7 Git 别名

2.8 总结

3 Git 分支

3.1 分支简介

3.2 分支的新建与合并

3.3 分支管理

3.4 分支开发工作流

3.5 远程分支

3.6 变基

3.7 总结

4 服务器上的 Git

4.1 协议

4.2 在服务器上搭建 Git

4.3 生成 SSH 公钥

4.4 配置服务器

4.5 Git 守护进程

4.6 Smart HTTP

4.7 GitWeb

4.8 GitLab

4.9 第三方托管的选择

4.10 总结

5 分布式 Git

5.1 分布式工作流程

集中式工作流

集成管理者工作流

司令官与副官工作流

工作流程总结

5.2 向一个项目贡献

提交准则

私有小型团队

私有管理团队

派生的公开项目

通过邮件的公开项目

总结

5.3 维护项目

在特性分支中工作

应用来自邮件的补丁

检出远程分支

确定引入了哪些东西

将贡献的工作整合进来

为发布打标签

生成一个构建号

准备一次发布

制作提交简报

5.4 总结

6 GitHub

6.1 账户的创建和配置

6.2 对项目做出贡献

6.3 维护项目

创建新的版本库

添加合作者

管理合并请求

提醒和通知

通知页面

网页通知

邮件通知

特殊文件

README

贡献 CONTRIBUTING

项目管理

6.4 管理组织

组织的基本知识

团队

审计日志

6.5 脚本 GitHub

钩子

GitHub API

基本用途

在一个问题上评论

修改 Pull Request 的状态

Octokit

6.6 总结

7 Git 工具

7.1 选择修订版本

7.2 交互式暂存

7.3 储藏与清理

7.4 签署工作

7.5 搜索

Git Grep

Git 日志搜索

7.6 重写历史

修改最后一次提交

修改多个提交信息

重新排序提交

压缩提交

拆分提交

核武器级选项:filter-branch

7.7 重置揭秘

三棵树

工作流程

重置的作用

通过路径来重置

压缩

检出

总结

7.8 高级合并

合并冲突

中断一次合并

忽略空白

手动文件再合并

检出冲突

合并日志

组合式差异格式

撤销合并

修复引用

还原提交

其他类型的合并

我们的或他们的偏好

子树合并

7.9 Rerere

7.10 使用 Git 调试

文件标注

二分查找

7.11 子模块

7.11.1 开始使用子模块

7.11.2 克隆含有子模块的项目

7.11.3 在包含子模块的项目上工作

7.11.3.1 拉取上游修改
7.11.3.2 在子模块上工作
7.11.3.3 发布子模块改动
7.11.3.4 合并子模块改动

7.11.4 子模块技巧

7.11.4.1 子模块遍历
7.11.4.2 有用的别名

7.11.5 子模块的问题

7.12 打包

7.13 替换

7.14 凭证存储

7.14.1 底层实现

7.14.2 自定义凭证缓存

7.15 总结

8 自定义 Git

8.1 配置 Git

8.1.1 客户端基本配置

8.1.2 Git 中的着色

8.1.3 外部的合并与比较工具

8.1.4 格式化与多余的空白字符

8.1.5 服务器端配置

8.2 Git 属性

8.2.1 二进制文件

8.2.1.1 识别二进制文件
8.2.1.2 比较二进制文件

8.2.2 关键字展开

8.2.3 导出版本库

8.2.4 合并策略

8.3 Git 钩子

8.3.1 安装一个钩子

8.3.2 客户端钩子

8.3.2.1 提交工作流钩子
8.3.2.2 电子邮件工作流钩子
8.3.2.3 其它客户端钩子

8.3.3 服务器端钩子

8.4 使用强制策略的一个例子

8.4.1 服务器端钩子

8.4.1.1 指定特殊的提交信息格式
8.4.1.2 指定基于用户的访问权限控制列表(ACL)系统
8.4.1.3 测试一下

8.4.2 客户端钩子

8.5 总结

9 Git 与其他系统

9.1 作为客户端的 Git

9.1.1 Git 与 Subversion

9.1.1.1 设置
9.1.1.2 开始
9.1.1.3 提交回 Subversion
9.1.1.4 拉取新改动
9.1.1.5 Git 分支问题
9.1.1.6 Subversion 分支
9.1.1.7 创建一个新的 SVN 分支
9.1.1.8 切换活动分支
9.1.1.9 Subversion 命令
9.1.1.10 Git-Svn 总结

9.1.2 Git 与 Mercurial

9.1.2.1 git-remote-hg
9.1.2.2 开始
9.1.2.3 工作流程
9.1.2.4 分支与书签
9.1.2.5 Mercurial 总结

9.1.3 Git 与 Perforce

9.1.3.1 Git Fusion
9.1.3.2 Git-p4
9.1.3.3 Git 与 Perforce 总结

9.1.4 Git 与 TFS

9.1.4.1 选择哪个工具
9.1.4.2 使用:git-tf
9.1.4.3 使用:git-tfs
9.1.4.4 Git-tf[s] 工作流程
9.1.4.5 工作流程:git-tf
9.1.4.6 工作流程:git-tfs
9.1.4.7 Git 与 TFS 总结

9.2 迁移到 Git

9.2.1 Subversion

9.2.2 Mercurial

9.2.3 Perforce

9.2.3.1 Perforce Git Fusion
9.2.3.2 Git-p4

9.2.4 TFS

9.2.5 一个自定义的导入器

9.3 总结

10 Git 内部原理

10.1 底层命令和高层命令

10.2 Git 对象

10.2.1 树对象

10.2.2 提交对象

10.2.3 对象存储

10.3 Git 引用

10.3.1 HEAD 引用

10.3.2 标签引用

10.3.3 远程引用

10.4 包文件

10.5 引用规格

10.5.1 引用规格推送

10.5.2 删除引用

10.6 传输协议

10.6.1 哑协议

10.6.2 智能协议

10.6.2.1 上传数据
10.6.2.2 下载数据

10.6.3 协议总结

10.7 维护与数据恢复

10.7.1 维护

10.7.2 数据恢复

10.7.3 移除对象

10.8 环境变量

10.8.1 全局行为

10.8.2 版本库位置

10.8.3 路径规则

10.8.4 提交

10.8.5 网络

10.8.6 比较和合并

10.8.7 调试

10.8.8 其它

10.9 总结

A1 附录 A:其它环境中的 Git

A1.1 图形界面

A1.1.1 gitk 和 git-gui

A1.1.2 Mac 和 Windows 上的 GitHub 客户端

A1.1.2.1 安装
A1.1.2.2 推荐的工作流程
A1.1.2.3 小结

A1.1.3 其它图形界面

A1.2 Visual Studio 中的 Git

A1.3 Eclipse 中的 Git

A1.4 Bash 中的 Git

A1.5 Zsh 中 Git

A1.6 Powershell 中的 Git

A1.7 总结

A2 附录 B:将 Git 嵌入你的应用

A2.1 命令行 Git 方式

A2.2 Libgit2

A2.2.1 高级功能

A2.2.2 其它绑定

A2.2.2.1 LibGit2Sharp
A2.2.2.2 objective-git
A2.2.2.3 pygit2

A2.2.3 扩展阅读

A2.3 JGit

A2.3.1 起步

A2.3.2 底层命令

A2.3.3 高层命令

A2.3.4 拓展阅读

A3 附录 C:Git 命令

A3.1 设置与配置

A3.2 获取与创建项目

A3.3 快照基础

A3.4 分支与合并

A3.5 项目分享与更新

A3.6 检查与比较

A3.7 调试

A3.8 补丁

A3.9 邮件

A3.10 外部系统

A3.11 管理

A3.12 底层命令

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值