Skip to content

Commit 2958eec

Browse files
committed
Merge pull request #6 from takanabe/04_handle_branch
Add quiz '04_handle_branch.md'
2 parents 468f718 + 328f367 commit 2958eec

18 files changed

+504
-21
lines changed

.gitmodules

+6-3
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
[submodule "01_commit_3x"]
22
path = 01_commit_3x
3-
url = git@github.com:takanabe/git-quiz_01_commit_3x.git
3+
url = https://github.com:takanabe/git-quiz_01_commit_3x.git
44
[submodule "02_amend_commit_log"]
55
path = 02_amend_commit_log
6-
url = git@github.com:takanabe/git-quiz_02_amend_commit_log.git
6+
url = https://github.com:takanabe/git-quiz_02_amend_commit_log.git
77
[submodule "03_clean_up_commit"]
88
path = 03_clean_up_commit
9-
url = [email protected]:takanabe/git-quiz_03_clean_up_commit.git
9+
url = https://github.com:takanabe/git-quiz_03_clean_up_commit.git
10+
[submodule "04_handle_branch"]
11+
path = 04_handle_branch
12+
url = https://github.com:takanabe/git-quiz_04_handle_branch.git

01_commit_3x.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
01_commit_3x : コミットを3回実施する問題
1+
01_commit_3x : コミットを3回実施する
22
========
33

44
### 問題
@@ -16,4 +16,4 @@
1616
### Link
1717
--------------------
1818
* Next: [02_amend_commit_log : 直近のコミット、コミットログを修正する問題](02_amend_commit_log.md)
19-
* 目次: [README](README.md)
19+
* 目次: [README](README.md)

03_clean_up_commit.md

+2-4
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,7 @@
1111

1212
### 問題3-2
1313
--------------------
14-
無事修正が終わったと思いきや、コミットログコメントにtypeがあった。
15-
このままだと格好が悪いので、`4&5th commmit``4&5th commit`に修正したい。
16-
02_amend_commit_logのgitレポジトリをAfter1からAfter2の状態に修正せよ。
14+
無事After1の状態にgitレポジトリを変更する事ができたが、まめにコミットをしすぎたためコミットログが汚くなってしまった。そこで、B',C',D'のコミットを1つにまとめることにした。03_clean_up_commitのgitレポジトリをAfter1からAfter2の状態にせよ。
1715

1816
![quiz03-2](images/03-2_clean_up_commit.png)
1917

@@ -26,6 +24,6 @@
2624
### Link
2725
--------------------
2826
* Previous: [02_amend_commit_log : 直近のコミット、コミットログを修正する問題](02_amend_commit_log.md)
29-
* Next:
27+
* Next: [04_handle_branch : ブランチを使いこなす](04_handle_branch.md)
3028
* 目次: [README](README.md)
3129

03_clean_up_commit_answer.md

+2-4
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,7 @@ f20659e 2nd commit
5050

5151
### 問題3-2
5252
--------------------
53-
無事修正が終わったと思いきや、コミットログコメントにtypeがあった。
54-
このままだと格好が悪いので、`4&5th commmit``4&5th commit`に修正したい。
55-
02_amend_commit_logのgitレポジトリをAfter1からAfter2の状態に修正せよ。
53+
無事After1の状態にgitレポジトリを変更する事ができたが、まめにコミットをしすぎたためコミットログが汚くなってしまった。そこで、B',C',D'のコミットを1つにまとめることにした。03_clean_up_commitのgitレポジトリをAfter1からAfter2の状態にせよ。
5654

5755

5856
### <a name="ans3-2">問題3−2 解答</a>
@@ -96,6 +94,6 @@ s d4e70a9 4&5th commit
9694
### Link
9795
--------------------
9896
* Previous: [02_amend_commit_log : 直近のコミット、コミットログを修正する問題](02_amend_commit_log.md)
99-
* Next:
97+
* Next: [04_handle_branch : ブランチを使いこなす](04_handle_branch.md)
10098
* 目次: [README](README.md)
10199

04_handle_branch

Submodule 04_handle_branch added at 9c7ae76

04_handle_branch.md

+84
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
04_handle_branch : ブランチを使いこなす
2+
========
3+
4+
### 問題4-1
5+
--------------------
6+
#### シナリオ
7+
あるサービスの新機能の開発のために、masterブランチからfunction1ブランチを切り、
8+
function.txtにfunc1を追記することになった。
9+
#### 問題
10+
04_handle_branchのgitレポジトリの状態をBeforeからAfter1に変更せよ。
11+
12+
![quiz04-1-1](images/04-1_handle_branch.png)
13+
14+
15+
### 問題4-2
16+
--------------------
17+
#### シナリオ
18+
function1での新機能の開発が完了したため、masterブランチに変更を反映させたい。
19+
04_handle_branchのgitレポジトリの状態をAfter1からAfter2に変更せよ。
20+
また、After2のコミットログからだと他の開発メンバーがmasterブランチにfunction1ブランチを取り込んだのを判断しにくいと考えたため、After3の状態にすることにした。
21+
#### 問題
22+
After2の状態からコミットを遡り、After3の状態に変更せよ。
23+
また、After3の状態になったことを確認したら、必要なくなったfunction1ブランチは削除すること。
24+
25+
![quiz04-2](images/04-2_handle_branch.png)
26+
27+
### 問題4-3
28+
--------------------
29+
#### シナリオ
30+
新機能function2の開発を行うことになった。そこで、function2のブランチを切り`function.txt``func2`の開発を始めた。しかし、しばらくすると、function2より新機能function3の開発を先に完了し、サービスに統合して欲しいとの依頼が来た。
31+
#### 問題
32+
そこで、function3のブランチを切り、それぞれ`function.txt``func3`を追加することにした。
33+
04_handle_branchのgitレポジトリの状態をAfter3からAfter4に変更せよ。
34+
35+
![quiz04-3](images/04-3_handle_branch.png)
36+
37+
### 問題4−4
38+
-------------------
39+
#### シナリオ
40+
無事にfunction3の開発を完了したので、masterブランチにfunction3ブランチをマージした。その後、function2の開発も完了したので、masterブランチにマージしようとしたところ直前にマージしたfunction3とfunction.txt上でコンフリクトした。吟味した結果、function.txtではfunction2を先に記述するべきだと判断したので、func2,func3の順でfunction.txtに記載することでコンフリクトを解消することにした。
41+
#### 問題
42+
04_handle_branchのgitレポジトリの状態をAfter4からAfter5に変更せよ。
43+
44+
![quiz04-4](images/04-4_handle_branch.png)
45+
46+
47+
48+
### 問題4-5
49+
-------------------
50+
#### シナリオ
51+
次にfunction4,function5を開発することになった。fucntion4はfunction5で利用する機能なのでfunction5ブランチを切りそこで両方の開発を進めることにした。function5ブランチでfunction4の開発が終わり、function5の開発をしていると、異なる機能function6を開発して今すぐmasterブランチに統合して欲しいという依頼が来た。そこで、function5の作業内容を一時的にコミットして、funtion6ブランチを切りfunction6を開発することにした。しかし、function6もfunction4が必要であることがわかった。そこで、function5ブランチで作成したfunction4のコミットをfucntion6ブランチに持ってくることにした。
52+
#### 問題
53+
04_handle_branchのgitレポジトリの状態をAfter5からAfter6に変更せよ。
54+
![quiz04-5](images/04-5_handle_branch.png)
55+
56+
### 問題4-6
57+
--------------------
58+
#### シナリオ
59+
function6の実装が困難だったため、途中経過を残すために`function.txt``f`,`u`,`n`,`c`,`6`をそれぞれ追記するごとにコミットログを残すことにした。`6`を追記した所で無事function6の実装が完了したがコミットログが汚くなってしまった。そこで、fucntion6の実装で残したコミットログを1つにまとてmasterブランチに統合した。function5の開発は次のコミットで完了したので、一時的コミットと1つにまとめてmasterブランチにマージした。
60+
61+
#### 問題
62+
04_handle_branchのgitレポジトリの状態をAfter6からAfter7、After7からAfter8に変更せよ。
63+
64+
![quiz04-6-1](images/04-6-1_handle_branch.png)
65+
![quiz04-6-2](images/04-6-2_handle_branch.png)
66+
67+
68+
69+
### 解答
70+
--------------------
71+
72+
[問題4−1の解答](04_handle_branch_answer.md#ans4-1)
73+
[問題4−2の解答](04_handle_branch_answer.md#ans4-2)
74+
[問題4−3の解答](04_handle_branch_answer.md#ans4-3)
75+
[問題4−4の解答](04_handle_branch_answer.md#ans4-4)
76+
[問題4−5の解答](04_handle_branch_answer.md#ans4-5)
77+
[問題4−6の解答](04_handle_branch_answer.md#ans4-6)
78+
79+
### Link
80+
--------------------
81+
* Previous: [03_clean_up_commit : 過去のコミットをまとめて修正する、綺麗にまとめる](03_clean_up_commit.md)
82+
* Next:
83+
* 目次: [README](README.md)
84+

0 commit comments

Comments
 (0)