|
Java电子书:Git团队协作 格式 pdf 电子书 PDF 电子书 Java吧 java8.com) J; A# s7 d- C- P- r
2 c$ z) `* v/ x9 u4 C
, x) R- O/ \: V编号:mudaima-P0153【Java吧 java8.com】
; P! c% Q9 P+ f3 e/ s/ }
, i" f' c8 A% [5 ]$ ^
! _1 X5 D4 M. Y, J7 e2 V) u) ~: ~
Java电子书目录:Johannes Schindelin 序 xi
; i! X; _# A" O6 F
! E% U' |/ W; M* ^3 ]Mark Atwood 序 xii
+ V: ^$ ?, t: t/ T. k3 U+ i2 T3 i2 X w
前言 xiii( D8 h# o5 C6 D' P' @$ z
# C! w4 x9 T$ ~7 G1 \' ]' \引言 xvii, k. J7 R: _! N' @
& A% V- G9 C5 R# q6 S1 ~
部分 制定工作流# R4 h; J* I. ]2 m* b
% X/ `+ d9 f# {' \0 K
第1 章 团队作战 2
8 f* E% |3 m* R+ p
" v& V! K- n# w1 ?) r( Z! w1.1 团队成员 2
( ^7 f% D Z9 F: w1 }. Q% R
, G1 Z# r$ p9 T1.2 思维策略 4
( H+ c# l& z5 k# S1 J. e5 R# }/ x/ H1 w
1.3 团队会议 6
3 `$ |4 Y" _: T6 X0 |( A( h! {3 e- q7 F3 C
1.3.1 项目启动 7: J, t }! f# v* q% m; n4 r; w. ~
* a7 Z; ~8 r. m7 _! ~+ g. `) w7 j1.3.2 追踪进展 72 }% d" n0 _7 z- D/ V2 D! w
- m1 x+ c9 W/ z3 x4 K; n1.3.3 培养同理心 9, K0 e1 m0 v: T, _/ r1 Z% D
: o. s, k6 q" [4 |9 J- I* O, D) H1.3.4 回顾 90 H( |1 `5 [& Z2 Z; h; ^
4 b4 K% M" G. X7 _( |9 }+ v- B1.4 Git 中的团队协作 108 d9 t3 @: R' u3 J; ~
0 D3 E( @6 W& p1.5 小结 11
( ` S- l j. V
5 A" i% o* Q2 ]) ^$ y* ~第2 章 命令与控制 12
. m0 w- s) h( A9 ]* c' D2 }7 U5 }6 W( V! w, Z! W
2.1 项目治理 125 g* m% C% w$ a* Y) Y) T: O6 b: K
/ \+ L9 O5 V$ N9 I, ~2.1.1 版权和贡献者协议 13
. N2 ]$ t# Q2 v! x
) e" Y* V0 \- E+ x( Q, _2.1.2 分发许可 14
# ^9 ?- T' W ~) Q" K/ v6 o; A0 t5 x3 z8 ?$ Q2 c
2.1.3 领导力模型 15
! |. R3 H5 d: E7 E2 m! z3 M' _# Q, e% k. r+ P( D) O
2.1.4 行为守则 159 c8 j2 A4 a7 {
/ o. j+ ^" z' b( J* I
2.2 访问模型 16& b [- v0 z* A
! Z9 p' n$ n' F! {' y/ ~, ^
2.2.1 适合分散贡献者仓库的模型 18
! n5 l! D M% r5 m5 R: j) D; j* H5 m! a* b) j
2.2.2 适合并列贡献者仓库的模型 20
9 Z' S0 U9 l& s$ u3 }' u& ~) D8 ^
2.2.3 共同维护的模型 227 j8 w% O% @; i5 n" q; b
* c: W- f/ V2 |) R. O) e: q
2.2.4 自定义访问模型 24" n' ~$ a7 v9 Z5 w+ R
% A: r6 M6 v7 u k
2.3 小结 25, o4 n0 q# j2 `
3 @9 o$ R& A+ Q8 u5 N$ x% ~& W$ w第3 章 分支策略 26, B! J% d# k4 F- \7 A5 ~9 u
|% C0 h4 X, a" V4 U% v6 C
3.1 理解分支 26
/ _' [/ Q( d$ B0 n
1 D0 {0 G8 M- g! E3.2 挑选约定 27( p( B( o+ T! g; q
1 S+ g1 @) F7 K4 h7 j! J' p5 H7 u
3.3 几种约定 28& B! V5 f, ?3 g$ z1 F! l
: p! O O; q% ?+ j3.3.1 主线分支开发 28
: `# [" a! e7 Q/ P9 r. l8 \8 J8 O$ M; G6 A3 d* G
3.3.2 功能分支部署 30( f1 P* @$ H/ x- F1 |6 `
+ ]$ e) u) r0 ? f3.3.3 状态分支 32/ Q# H" c" M& d0 a7 P0 z
/ h$ }- `0 E9 n# o, n8 M) T3.3.4 计划部署 35
, h4 ?% ?5 \7 [. Y( r }. O: M9 }3 Y' B. S
3.4 更新分支 40
+ o5 R& ^. v: |: b: @
* s3 W) [% {/ Y3.5 小结 436 w2 `7 k& M7 H: n1 B
+ @7 Q0 a7 }4 S# I
第4 章 工作流 45; E( ^ s2 u/ l; m& z+ a2 X
5 F3 b6 ~6 `- H4 {7 j+ X8 o
4.1 初识工作流 450 G' I. o5 e. {$ E
1 k) W2 c/ _0 [: E- P
4.1.1 记录工作过程 465 N9 J. H" L( M9 y0 |/ E5 R
* Y3 D5 s5 M. q' Z0 C) N& u! c/ k
4.1.2 记录编码的决定 46" R" a: n! `2 S( S0 ~' u
* f- x1 \; `1 \" i, k4 P5 f. B4.2 工单进展 47) Q" B3 F- J" j3 a& @) b) o5 a* i
6 @/ {& x0 T! n
4.3 基本工作流 498 h1 ?% n0 j+ V! ?" w2 P
) x6 j# q7 w. X u3 t8 f4.3.1 使用同行评审的可信开发者 50 M* ?) U+ N. W7 ^% p" F E
1 T7 r: \+ B; M- A) \4.3.2 需要质量保证团队的不可信开发者 51- y: X4 O" |' a1 R& c4 C
. h1 S, |! w- t& k+ t; ~
4.4 根据计划发布软件 52
5 Q, I2 l1 z6 }5 a, n3 S3 t. H) n& t" t6 m
4.4.1 发布稳定版本 523 |! c5 h) p# o- d' w X( f8 L
: w6 J2 _. M9 d/ u( {4.4.2 正在进行的开发 53
- M" P% {, V9 q2 | j1 r2 S* l
+ G+ B% T8 M+ c. ]4.4.3 发布后的补丁 53. v$ t6 u( n0 [: J9 @
5 @+ c8 @% T& y) G. S4.5 非软件项目中的协作 54
o2 z# d0 o9 N6 s/ ~# @
) b2 A6 Z3 e& G4.6 小结 55
# I/ J0 x& s1 [5 {6 J
+ {" f: J5 v# P3 v. S" |第二部分 在工作流中使用命令
7 J+ v1 K1 q) P: N) H& S8 r: M
# l$ u$ J8 P+ @: R第5 章 单人团队 58. q b$ q, P' M' h; ~
. G$ `: J) o3 A, z4 \; e7 k5 `
5.1 基于issue 的版本控制 59
, ]# t, q! [( L8 q0 I; Q) @# X5 n7 l2 Q* O6 l6 `
5.2 创建本地仓库 608 n0 q3 v, J0 |2 z$ h
! r m. x4 L6 o5.2.1 克隆已有的项目 62
: B" ?) p1 |0 a4 a5 T4 Z& G7 e
( t5 B5 n/ x: o8 X5.2.2 将已有的项目迁移至Git 63) V# B J: R9 E" ~% v1 W8 D# y" k
! \8 o7 a" J: o) x `
5.2.3 初始化空项目 65
0 I7 R; b7 E6 T- _
+ J. y, ?+ p5 ~3 t% K1 P. o5 x5.2.4 查看历史记录 65* L% e6 t4 J9 p) Y
! l# S; K# l f2 O5.3 使用分支工作 66
0 j/ G6 V1 Q9 p& a
) M1 K8 H# B- g5.3.1 列出分支 66$ A; t; e/ r1 o6 {" d
7 N- @) {- _2 J6 Q/ S# D; w u/ Z; r
5.3.2 更新远程分支列表 67
% a1 X; V& l4 z" D$ y. k
. O8 F, Q+ E$ C& g5.3.3 使用不同的分支 67
6 {! r) j0 m9 D& @ f' G- J$ c
( i# @" d! A# s9 n1 n8 b0 Q/ n5.3.4 创建新的分支 684 x. b; n9 k+ M: B9 Z$ z' y9 W% P
7 t9 \* g& y0 r% v ^
5.4 在仓库中添加更改 70- x) ?7 J1 D+ M
" u8 W6 P% v& v6 q5 D6 _' E& M5.4.1 在仓库中添加部分文件修改 728 K0 E9 }$ p3 t8 v8 n0 r3 W! I4 f7 H
! z0 X" u8 V5 ^& W9 t+ K# \5.4.2 提交部分更改 73& }% Y0 C. d9 F! }# S O2 q$ G
; _( s! c! E$ m' H
5.4.3 从暂存区移除文件 748 e" u' f: T/ L6 ^+ w! }
; J7 u& }+ G+ t) c2 S
5.4.4 编写扩展提交消息 742 i3 {4 l* b+ I) I9 Z( `
$ m) k$ e4 A2 u' r( g* n, b
5.4.5 忽略文件 75& X" l0 K+ D4 E. e7 C2 ?
% N# w; v4 G* q5.5 使用标签 76
/ S% c" F8 W1 Q' V4 ^' l2 V
+ E6 {+ T( H/ a! ~% T0 Q; P: \' D5.6 连接远程仓库 77! H8 q5 }) G+ J$ a# I
4 S7 l/ m6 ^. \: T: D, ~3 _
5.6.1 创建新的项目 78
3 p! `, }" a3 E" [1 V" B+ ]/ a, I( M6 w5 W7 q# }) D
5.6.2 添加第二个远程连接 78( ]$ b4 b: }( v
! G! ]) U9 A6 k0 h( o' a* ]
5.6.3 推送你的更改 79
. m% D6 z8 U- o) a, s! b+ O
W J! a) s. q# g( V% k& s9 l5.6.4 分支维护 80) E# l9 b* |% y4 J$ y( X5 L/ C( R
( R M% |6 P9 c# x9 a0 h* l* ~5.7 命令指南 81
& I7 V; k' k( |* `/ Y) ]7 K! }1 O6 m) }' D& h' a/ [/ L% }3 N
5.8 小结 82
5 k k# ^# t$ _* ^: d8 d) q- o8 F* \( W3 C7 ?
第6 章 回滚、还原、重置和变基 83
4 ~7 t- [. w8 n& P) M
1 {! a* h$ e& F7 [( h/ ^6.1 实践 83
- |2 k" a4 H; x2 k
K; L1 I/ [1 a1 c6.1.1 描述问题 845 g8 S a. e2 T- D8 `. \ [- k0 I
+ E4 q1 c* [1 a$ M; T
6.1.2 使用分支进行试验性的工作 85
9 @4 m, U! G3 l% V3 \* u
% Y: i( ?# O! I% k6.2 分步变基 88
, E9 j6 Y4 {$ |- T V' z3 J4 d3 I/ R9 T8 G" A& U: F
6.2.1 开始变基 88
8 E7 n+ w1 w0 Y% E" R7 O; y
7 U$ V, d7 H4 b5 W; M/ k6.2.2 文件删除造成的变基中冲突 89
; \8 ]% v7 Z, Y8 s% F/ G5 ]1 Q, [3 O2 j
6.2.3 单个文件合并冲突造成的变基中冲突 92
# m" d) B4 `* S! z. O2 n, m1 D( f
2 p x6 u' W6 O/ W; _6.3 定位丢失的工作概述 94! B: f N" ~3 i/ j1 l+ _% \
. l/ ^; R% k( w7 a
6.4 还原文件 97& p9 z* I, X9 Z. y& ~
5 M' ~ x; [. Y4 ]4 D, a
6.5 使用提交 98# w2 I R3 l% U; A/ @
2 `! _; I/ U) C
6.5.1 修补提交 99
, O8 ^; w6 q+ A( @: n1 M* _$ G' P, N- l$ s! {
6.5.2 使用reset 合并提交 99" ?' Y* V' ^) b; N
5 ]: l( O0 N- ~4 V) Z# c4 N7 X6.5.3 使用交互式变基修改提交 101+ i( M- w5 o5 y3 S) f2 y
: c W$ [5 ~" h, T x+ q' k
6.5.4 撤销分支合并 1061 h5 M; u+ l1 I" L- k
' R0 `9 S2 J5 K
6.6 撤销共享历史记录 1081 F! c, ]) G3 ~' i% q$ l
% r& E+ O5 c' K7 M
6.6.1 还原之前的提交 108
+ y2 T. A9 X8 o; a- c4 o1 Z" k
) H F/ V+ Y0 x& O0 u# \6.6.2 撤销共享分支的合并 109
0 x4 R' {- v2 J/ {- r/ K; [' \; v
7 M1 d! r) @1 j( }0 {6.7 真正移除历史记录 1141 K4 \. h2 Z* k3 m; K( N0 U* Z4 Z8 @
; N# u' a' I% Q/ ~8 |- V; n# C/ V6.8 命令指南 115( S) T8 ]/ f4 a: @6 m
( M0 a9 r; Q1 W% E0 n
6.9 小结 116! {6 p" A7 \3 Z' |+ S# Y
& p; _0 [! M" {9 S7 k) R3 Q5 d第7 章 多人团队 118
4 _5 x' y* N- j# M" I8 a0 \) {$ ~6 ? h- S5 D7 w* J# F: r
7.1 设置项目 119
! P( k6 V$ g% i/ T$ a b. y3 {( ^9 F6 b4 K& [" i
7.1.1 创建新项目 119
( d% v' V5 R \' b; o9 A
+ V# G- W* \# C" M% s7.1.2 建立权限管理 120" X% ~- ^' w2 k% u: M0 U
5 \) K( b: E5 V4 x7.1.3 上传项目仓库 121
& m& V$ J8 a: ~7 b. ^1 Q9 |% a
! a, |) R& W' S! G2 G! U; s7.1.4 在README 中记录项目 123
( t4 [( l9 c% z' G1 S4 }& R; i# T- X( y' P6 I7 N
7.2 设置开发者 124
& b$ i) C/ _, m0 X& {/ g# l6 _- Y8 i2 W; @' Q3 e: \( \
7.2.1 消费者 124
) O ~+ a# E& d8 T" e2 Y1 h& E; ^8 k; E% _- v" n/ L3 z8 n
7.2.2 贡献者 1269 {! w1 i; U' o* k
. Z! A. ?8 |- k' k! v/ L) f
7.2.3 维护者 127/ x$ p. G. c# c- Q
6 N( K {9 ~8 u) Y7.3 参与开发 128; d! K9 Y4 c, x, H
9 u0 e; o& P& @% p' ?1 ~
7.3.1 构建完美的提交 128- }1 [$ C3 x* d+ N( m' c3 _- ^
8 b+ t& T0 c8 E' M$ j+ x3 [
7.3.2 保持分支 131: o) q: S$ H& \, p2 t* V: ?
2 O) _8 @ n% r% h$ S* Z# [7.3.3 评审工作 1334 P" q/ N6 B# g
) H4 b2 z9 G- V# k' Y/ g: W2 T7.3.4 合并完成的工作 135
7 a' K4 x) p; l& U1 I# Z `9 o) h. U0 L* Q. q
7.3.5 解决合并和变基冲突 136
$ U% y1 p$ d: t( e% Z5 N/ W! ]( U; X+ R. e5 J( R2 N
7.3.6 发布工作 1373 w, }% ], F% L @& B) L2 {1 ]* D# \
+ {; r3 [' w* J+ S
7.4 样例工作流 138, L* v: y1 I- p
7 _' l' i x% |: E$ @7.4.1 基于冲刺的工作流 1387 K5 o F! [3 O+ G8 f& o
7 L/ h# O3 Q1 C1 ]$ u+ d$ D' r+ S
7.4.2 没有同行评审的可信开发者 141$ X8 {3 x. a. r: B; O
9 n9 H: k( @2 n6 O# }- i
7.4.3 需要独立质量保证的不可信开发者 1424 Y4 U7 _9 F% |; Y$ R6 O$ W1 h) C
* x0 `' y; C. W1 i( _
7.5 小结 1433 X8 a/ ]' s# x
: D3 K+ q/ m5 R/ a6 H; b
第8 章 准备评审 144/ b, s7 x6 |: n0 |; w/ Q
, c+ e h+ B `% `8.1 评审类型 144
3 g& C8 S) d0 W- q4 D
0 x2 T6 }; v# t7 y% T2 M* K& {8.2 评审者类型 145& H: c3 F% J( ]7 |
, }5 I. j( Y4 R7 }/ z0 o' z
8.3 用于代码评审的软件 1460 f) u9 Z1 p+ x8 A0 G
a0 S$ o1 G' E e; x% w" S$ W
8.4 评审issue 146* r7 e" w- R' a6 n7 o7 H
8 y$ b6 _; e& V) D8.5 应用提议更改 147
# Z! G+ R7 L; d$ x- K7 R6 e8 x; ~
9 S9 W5 Z A' U5 l- E8 T/ W8.5.1 共享仓库的设置 147
+ b/ O( V% H9 h# ^. c$ ]
& A) ~ o+ Q' F1 n8.5.2 派生仓库的设置 1481 {+ f' w/ s5 @3 [
7 a; _$ | v: T8.5.3 签出提议分支 148- G0 M" p: `2 h4 n
2 W# [+ W+ Z9 }, i$ N
8.6 评审提议的更改 149% T0 V0 I! i! r$ z
6 o3 C! B0 |; w! F2 j0 ^6 L2 V8.7 准备你的反馈 151
' C0 }- \; k, _. [! o3 ^3 w5 |& k/ E& S
8.8 提交你的评估结果 151' X6 M9 t" h& G4 O4 \
1 N& `! O. H( q6 F+ m% s
8.9 完成评审 1529 m3 Z4 s! C/ y1 z
+ d1 T3 H; l( g9 g4 d5 l4 K& @1 M E) L
8.10 小结 153& n4 h |( y1 E4 E
1 C7 A- L2 v6 V `, {
第9 章 寻找并修复bug 154
! G, \* N# v; ^- l2 y/ {4 I! ~7 D% d2 C
9.1 使用stash 进行紧急的bug 修复 1557 i4 b. t$ w8 P) c( V4 L5 D
9 X$ n# m1 _7 W* P- |) S- L; v9.2 比较历史记录的研究 157
( e( F. G E/ G6 D0 V( |1 g0 d9 F! P, m" ?2 |& ?) n3 x: K+ r
9.3 使用blame 调查文件历史版本 159
- u7 ?9 ]$ A; b( X. {( q& ~
' s1 D, v0 P4 a3 X/ r7 Y9.4 使用bisect 重演历史 161, E: {9 l2 |& ~9 c
/ A; J+ |0 O9 ^6 w; `9 a; g9.5 小结 163" A5 n3 a6 q `0 u# m
/ z" @/ Q S2 A5 _第三部分 Git 托管平台
6 I3 d& p/ \- N; u. H6 N) J# ]5 v
* a7 d5 m& s% N; j. D$ p+ N第10 章 GitHub 上的开源项目 166: h1 Z0 Q! C6 z& ?
- } k7 r- j6 a7 K e* Q10.1 开始使用GitHub 1671 h" i& L# I: I+ o" O5 U
% N) y6 Z, m( i3 U n* n3 e$ ~" a10.1.1 创建账户 167
: l2 h4 ]) |7 r1 E9 @4 Z9 ^
4 B3 R; B! j. m4 l3 g7 j10.1.2 创建组织 169# ^5 X6 H' n2 w8 P3 c7 l. L$ |4 y
$ C& X% @4 x- Q5 M' l, d9 ^2 P10.1.3 个人仓库 170
$ j) K* W) j$ {, P
. ~5 b9 l) b# `7 V2 e s9 M3 }10.2 使用GitHub 上的公开仓库 177
+ u: g$ J* y/ k! _: ]: F9 T
4 A: W, H& S" S9 g8 W" t10.2.1 下载仓库快照 1775 n) J; r$ r6 I! G5 [, X: ?2 N
/ n1 f6 p0 N7 u
10.2.2 在本地工作 178
7 q* D8 _7 G# `: g1 [ W( m2 Q7 t( r
10.3 为项目做出贡献 181
( X+ i& X; G) Q' T. Q0 X3 Y+ l% A3 c7 F9 y6 H
10.3.1 使用issue 跟踪更改 181
: ~: E: |* E0 K* ?& s- |* [0 V( K1 W8 r' E
10.3.2 派生项目 182- f* n$ J. W. {4 ~2 [
p1 j7 J5 Z& @9 R/ S
10.3.3 创建拉取请求 182
3 I+ ]* w2 d8 M4 E# _- M
4 K* s5 t3 a, {- n4 B10.4 运营你自己的项目 184* S1 x* w8 ^( n2 [8 C; W/ s5 _* R
( \3 y' Z; M( u5 I' ]
10.4.1 创建项目仓库 184
- g$ a4 ~" z2 x* a
6 H. R" x B7 C6 e# D10.4.2 授权共同维护 185
8 u" p5 \2 c) N# a0 h3 z( K: m. k: R2 P0 G
10.4.3 评审并接受拉取请求 186, j" F6 a, h& ]9 @9 {1 Z( A
3 C5 V, Y7 Y& |1 |' B1 Z10.4.4 发生合并冲突的拉取请求 187
" p/ m8 Y6 d! _' V* ~) X$ [- c2 K0 `; \5 ]# b* q) @( l% u
10.5 小结 188
$ @: {3 V% ?( F% G8 ^% K. x/ M4 E, D' g+ z
' D$ g1 O/ |( h: n第11 章 Bitbucket 上的私有团队工作 1897 ?3 [6 A9 E( A* x) s
' A3 _: k8 s0 W* @7 X# {. B11.1 非公开项目的项目治理 189- N* F* X5 J) V1 |% ~
! e8 N9 D: R$ G S- a: K. r11.2 开始使用 190
, r8 H+ H& R: p6 w, V) @% V- G
- U" S4 W) `# h& d9 C11.2.1 创建账户 190" U- m4 S6 o( u' ?' `
1 c+ r+ S% f7 n5 \7 l8 z8 h
11.2.2 在欢迎页面创建私有项目 192
9 i+ e) G U& P) f% x6 ?: |) w$ r" r- o8 H h
11.2.3 从信息中心创建私有项目 193
8 z" c3 C. G8 Y' w" a
/ ^# Z: r. Z$ M+ W9 n: ~11.2.4 设置你的新仓库 1944 `0 V/ l8 Z3 o* X* p: o& H
, d' c2 Y# e$ V; }6 t: a0 q11.2.5 探索你的项目 1960 h' F( V, g2 x
6 h: o; g. n, [0 C2 ]- P' l11.2.6 编辑仓库中的文件 197+ B- o6 u, v2 R0 d
2 {9 A. b, M) D( `0 h9 g0 c11.3 项目设置 1996 g( ~& C; w, E
8 H; F8 [! u+ f7 {% U1 Y
11.3.1 Wiki 页面中的项目文档 2009 H; Q; s! C% n% r) {1 |$ z
4 s5 S% p; `9 j! T3 A$ j
11.3.2 使用issue 跟踪你的更改 202
: C( w: r5 h9 [) W8 O; T' [: S' s. {3 D" [
11.4 访问控制 205& P [$ H2 e8 i6 s' s
2 ^! ]6 ?! a7 V/ Q6 h2 t11.4.1 共享权限 207. B& v7 Y$ b z& F' o
; d' ~( o" G8 S
11.4.2 每个开发者分别派生项目 207
( N/ ~+ Z) D5 Q- c; j4 |% w1 u4 I% v
11.4.3 通过保护分支限制访问 207
: {! F9 W. }9 v+ ^
4 u( v( C& y7 ~5 |7 }11.5 拉取请求 2098 i0 y& ]7 a# u
6 Y9 O, k! C* I: r
11.5.1 提交拉取请求 209
' ?) L5 X! M* @9 q) \0 P. |! y8 s2 k3 j# F# t& y
11.5.2 接受拉取请求 2104 ?& x! l8 X9 s% K8 c" t& j
3 B1 o( w. w9 |/ ?7 @1 E/ `! z, u
11.6 使用Atlassian Connect 扩展Bitbucket 210* K) b, H, ] n1 Z* O( p1 X
! e% s) ^+ T' c
11.7 小结 212" w2 J! r9 ]; G5 u J
9 L$ C6 g/ K7 \# y; x' m3 ]: Z6 t9 b& C第12 章 GitLab 上自行管理的协作 2131 O+ K7 T# l# a0 v A9 C
/ P' _) H4 l# K3 Q12.1 入门 213
( K! n8 C/ e# K+ A# s# S/ P
* y( t8 z6 [4 `. X% s0 W: y8 `12.1.1 安装GitLab 213
1 m. C Q- a8 i; E" t8 Q* z$ j3 u6 k" u1 f- S5 g
12.1.2 设置管理账户 2153 q- C$ {) V9 n7 p# K3 L9 A
3 Z8 u$ ~+ z) ]* g# x12.1.3 管理信息中心 2163 H3 j0 a) S' L! ~- Q. h
b9 v1 A- O/ H- p. @
12.2 项目 219" j8 J. ?% n+ e* r! o
c) m0 k/ V4 M+ R, b8 f/ v
12.3 用户账户 221
; N+ s% p( z4 Y; @# ^* a8 Z
y b+ R6 C* i# r( F4 s, L* N% r. H12.3.1 创建用户账户 221
$ e' w: h( n5 x+ Q& P3 W$ S/ n9 C4 B/ m0 A( U. h
12.3.2 添加项目成员 223
1 f: r9 a$ g" S6 i* i+ H4 J/ C, _2 m4 }& K7 [
12.4 群组 224
w0 s5 D, `) J/ a4 L/ D. H, K( h& d" d9 c
12.4.1 添加群组成员 225
9 e; _: h' {- ?$ c8 {2 w# E
9 l* F# J( B/ S3 B12.4.2 将项目添加到群组 227
3 l2 M, [+ y" \1 F, K& | s( x
( ]9 q6 r8 k/ Q& f* Z12.5 访问控制 228) i* G* C% q& V
9 O! g7 V t$ q8 ~9 S
12.5.1 项目可见性 228
$ T# c u" J9 Q# C' U5 E/ A( Z7 T5 ]" a5 ~3 h
12.5.2 使用项目角色限制活动 2298 D! L- J8 L- n$ q" z, n1 Z
# K) ^; W$ h+ T, |12.5.3 使用保护分支限制访问 230
7 C0 T( z9 b `' a1 f8 e4 M$ s# G% E( }0 J, {
12.6 里程碑 231. c+ {8 g+ k7 }. _- ^# l
r- I. S$ e% ~# r) c O. Z12.7 小结 232' k5 z4 p$ G& ~. c$ g. k
. I4 S, D, P4 ~) X5 C o: w2 ~
附录A 奶油塔 2331 j9 l' N7 p( m. |- }5 C
- c( X$ v. P8 p A+ H0 Y6 P! z" ]附录B 安装版本的Git 235/ H% n! e& Q6 \2 o% f: U" B$ f" [
0 q/ s& M6 R( N/ I附录C 配置Git 240
/ A; w" W+ V- `, X% J K' L( P1 P+ s" y% w; ^% _, `
附录D SSH 密钥 245
$ o% c2 N; }6 p0 f+ @7 `
/ a- M# u1 w$ ?& p J6 x关于作者 248
7 j( r# C4 Y) {/ H& P
1 U0 C3 h3 H4 v* D2 e/ v0 ~关于封面 248
) v4 M) l }. D: ?! T/ Q1 W
( E. K+ k, _* @+ J* r+ Y百度云盘下载地址(完全免费-绝无套路):
: U3 @7 e: ~* N |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|