Git 团队协作 PDF 文档

发布于 2023-06-03 19:20:41 字数 5073 浏览 77 评论 0

本书是一本软件团队协作指南,采用以人为本的方式讲解版本控制,强调如何利用 Git 促进团队协作。第一部分介绍如何创建一个优秀的团队、如何构建工作流等。第二部分从实践的角度学习 Git 命令。第三部分介绍如何在 GitHub、Bitbucket 和 GitLab 平台上托管项目。

本书适合软件开发人员和项目管理人员阅读。

在 Git 面世之前,Linux 内核开发多年来一直使用专有版本控制系统 BitKeeper,并取得了巨大的成功。但存在一个问题:一些 Linux 开发者反对使用专有性质的版本控制系统,随即开始了漫长的口水战。正是因为这场冲突,授权给 Linux 开发者免费使用的 BitKeeper 许可证被吊销,于是 Git 应运而生。Linus Torvalds 花了两周时间,放下了 Linux 的工作,想要寻找一个替代 BitKeeper 的方案。由于没能找到一个满意的替代工具,他干脆自己写了第一个非常原始的版本,也就是我们现在所说的 Git:一个用 Unix 风格编写的 shell 脚本拼接起来的小程序。具有讽刺意味的是,Git 的分布式是使用 rsync 实现的,而这个工具的作者恰好就是那个将 BitKeeper 推下历史舞台的 Linux 开发者。

就我个人而言,我最初痴迷于 Git 简洁的数据结构,随后参与了 Git 的移植工作,后来又做了越来越多的改进,包括“交互式变基”(抱歉,这个名字有些晦涩)的发明,以及最后对 Git 的 Windows 移植版本的维护。10 年来,不论是作为跨学科项目的专职程序员,还是高度分布式开源项目的负责人,从事生命科学研究的我几乎每天都要用到 Git。

前言
引言
第一部分 制定工作流
第1章 团队作战
1.1 团队成员
1.2 思维策略
1.3 团队会议
1.3.1 项目启动
1.3.2 追踪进展
1.3.3 培养同理心
1.3.4 回顾
1.4 Git中的团队协作
1.5 小结
第2章 命令与控制
2.1 项目治理
2.1.1 版权和贡献者协议
2.1.2 分发许可
2.1.3 领导力模型
2.1.4 行为守则
2.2 访问模型
2.2.1 适合分散贡献者仓库的模型
2.2.2 适合并列贡献者仓库的模型
2.2.3 共同维护的模型
2.2.4 自定义访问模型
2.3 小结
第3章 分支策略
3.1 理解分支
3.2 挑选约定
3.3 几种约定
3.3.1 主线分支开发
3.3.2 功能分支部署
3.3.3 状态分支
3.3.4 计划部署
3.4 更新分支
3.5 小结
第4章 工作流
4.1 初识工作流
4.1.1 记录工作过程
4.1.2 记录编码的决定
4.2 工单进展
4.3 基本工作流
4.3.1 使用同行评审的可信开发者
4.3.2 需要质量保证团队的不可信开发者
4.4 根据计划发布软件
4.4.1 发布稳定版本
4.4.2 正在进行的开发
4.4.3 发布后的补丁
4.5 非软件项目中的协作
4.6 小结
第二部分 在工作流中使用命令
第5章 单人团队
5.1 基于issue的版本控制
5.2 创建本地仓库
5.2.1 克隆已有的项目
5.2.2 将已有的项目迁移至Git
5.2.3 初始化空项目
5.2.4 查看历史记录
5.3 使用分支工作
5.3.1 列出分支
5.3.2 更新远程分支列表
5.3.3 使用不同的分支
5.3.4 创建新的分支
5.4 在仓库中添加更改
5.4.1 在仓库中添加部分文件修改
5.4.2 提交部分更改
5.4.3 从暂存区移除文件
5.4.4 编写扩展提交消息
5.4.5 忽略文件
5.5 使用标签
5.6 连接远程仓库
5.6.1 创建新的项目
5.6.2 添加第二个远程连接
5.6.3 推送你的更改
5.6.4 分支维护
5.7 命令指南
5.8 小结
第6章 回滚、还原、重置和变基
6.1 最佳实践
6.1.1 描述问题
6.1.2 使用分支进行试验性的工作
6.2 分步变基
6.2.1 开始变基
6.2.2 文件删除造成的变基中冲突
6.2.3 单个文件合并冲突造成的变基中冲突
6.3 定位丢失的工作概述
6.4 还原文件
6.5 使用提交
6.5.1 修补提交
6.5.2 使用reset合并提交
6.5.3 使用交互式变基修改提交
6.5.4 撤销分支合并
6.6 撤销共享历史记录
6.6.1 还原之前的提交
6.6.2 撤销共享分支的合并
6.7 真正移除历史记录
6.8 命令指南
6.9 小结
第7章 多人团队
7.1 设置项目
7.1.1 创建新项目
7.1.2 建立权限管理
7.1.3 上传项目仓库
7.1.4 在README中记录项目
7.2 设置开发者
7.2.1 消费者
7.2.2 贡献者
7.2.3 维护者
7.3 参与开发
7.3.1 构建完美的提交
7.3.2 保持分支最新
7.3.3 评审工作
7.3.4 合并完成的工作
7.3.5 解决合并和变基冲突
7.3.6 发布工作
7.4 样例工作流
7.4.1 基于冲刺的工作流
7.4.2 没有同行评审的可信开发者
7.4.3 需要独立质量保证的不可信开发者
7.5 小结
第8章 准备评审
8.1 评审类型
8.2 评审者类型
8.3 用于代码评审的软件
8.4 评审issue
8.5 应用提议更改
8.5.1 共享仓库的设置
8.5.2 派生仓库的设置
8.5.3 签出提议分支
8.6 评审提议的更改
8.7 准备你的反馈
8.8 提交你的评估结果
8.9 完成评审
8.10 小结
第9章 寻找并修复bug
9.1 使用stash进行紧急的bug修复
9.2 比较历史记录的研究
9.3 使用blame调查文件历史版本
9.4 使用bisect重演历史
9.5 小结
第三部分 Git托管平台
第10章 GitHub上的开源项目
10.1 开始使用GitHub
10.1.1 创建账户
10.1.2 创建组织
10.1.3 个人仓库
10.2 使用GitHub上的公开仓库
10.2.1 下载仓库快照
10.2.2 在本地工作
10.3 为项目做出贡献
10.3.1 使用issue跟踪更改
10.3.2 派生项目
10.3.3 创建拉取请求
10.4 运营你自己的项目
10.4.1 创建项目仓库
10.4.2 授权共同维护
10.4.3 评审并接受拉取请求
10.4.4 发生合并冲突的拉取请求
10.5 小结
第11章 Bitbucket上的私有团队工作
11.1 非公开项目的项目治理
11.2 开始使用
11.2.1 创建账户
11.2.2 在欢迎页面创建私有项目
11.2.3 从信息中心创建私有项目
11.2.4 设置你的新仓库
11.2.5 探索你的项目
11.2.6 编辑仓库中的文件
11.3 项目设置
11.3.1 Wiki页面中的项目文档
11.3.2 使用issue跟踪你的更改
11.4 访问控制
11.4.1 共享权限
11.4.2 每个开发者分别派生项目
11.4.3 通过保护分支限制访问
11.5 拉取请求
11.5.1 提交拉取请求
11.5.2 接受拉取请求
11.6 使用Atlassian Connect扩展Bitbucket
11.7 小结
第12章 GitLab上自行管理的协作
12.1 入门
12.1.1 安装GitLab
12.1.2 设置管理账户
12.1.3 管理信息中心
12.2 项目
12.3 用户账户
12.3.1 创建用户账户
12.3.2 添加项目成员
12.4 群组
12.4.1 添加群组成员
12.4.2 将项目添加到群组
12.5 访问控制
12.5.1 项目可见性
12.5.2 使用项目角色限制活动
12.5.3 使用保护分支限制访问
12.6 里程碑
12.7 小结
附录A 奶油塔
A.1 Austin的奶油塔
A.2 van der Heyden的奶油塔
附录B 安装最新版本的Git
B.1 安装和升级Git
B.2 查找命令行
B.2.1 OS X
B.2.2 Linux
B.2.3 Windows
B.3 在*nix系统上升级
B.4 OS X上的小麻烦
B.5 在命令行上访问Git帮助
附录C 配置Git
C.1 表明身份
C.2 更改提交说明编辑器
C.3 添加颜色
C.4 自定义命令提示符
C.5 忽略系统文件
C.6 行结束符
附录D SSH密钥
D.1 创建你自己的SSH密钥
D.1.1 Linux、OS X和Unix变种
D.1.2 Windows
D.2 获得你的SSH公钥
关于作者
关于封面
连接图灵
看完了

下载地址:https://www.wenjiangs.com/wp-content/uploads/2023/06/vLjde4Ub6tfy8DXZ.zip

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84961 人气
更多

推荐作者

杨绘峰

文章 0 评论 0

听闻余生

文章 0 评论 0

谜兔

文章 0 评论 0

xiaotwins

文章 0 评论 0

你说

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文