Skip to content

Commit b36a182

Browse files
committed
為 Git 指令和術詞加上英文附註
1 parent cbb303a commit b36a182

File tree

1 file changed

+16
-16
lines changed

1 file changed

+16
-16
lines changed

book/03-git-branching/sections/basic-branching-and-merging.asc

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,30 @@
11
=== 分支和合併的基本用法
22

3-
讓我們來看一個你在現實生活中,有可能會用到的分支與合併工作流程的簡單範例
3+
讓我們來看一個你在現實生活中,有可能會用到的分支(branch)與合併(merge)工作流程的簡單範例
44
你做了以下動作:
55

66
. 開發一個網站。
77
. 建立一個分支以實現一個新故事。
88
. 在這個分支上進行開發。
99

10-
此時你接到一個電話,有個很危急的問題需要緊急修正,
10+
此時你接到一個電話,有個很危急的問題需要緊急修正(hotfix)
1111
你可以按照下面的方式處理:
1212

1313
. 切換到發佈產品用的分支。
1414
. 在同一個提交上建立一個新分支,在這個分支上修正問題。
15-
. 通過測試後,切回發佈產品用的分支,將修正用的分支合併進來,然後再推送出去以發佈產品
15+
. 通過測試後,切回發佈產品用的分支,將修正用的分支合併進來,然後再推送(push)出去以發佈產品
1616
. 切換到之前實現新需求的分支以繼續工作。
1717

1818
[[_basic_branching]]
1919
==== 分支的基本用法
2020

2121
(((branches, basic workflow)))
22-
首先,我們假設你正在開發你的專案,並且已經有一些提交了
22+
首先,我們假設你正在開發你的專案,並且已經有一些提交(commit)了
2323

2424
.一個簡單的提交歷史
2525
image::images/basic-branching-1.png[一個簡單的提交歷史。]
2626

27-
無論你的公司使用的議題追蹤系統是哪一套,你決定要修正其中的議題 #53;
27+
無論你的公司使用的議題追蹤系統(issue-tracking system)是哪一套,你決定要修正其中的議題 #53;
2828
要同時新建並切換到新分支,你可以在執行 `git checkout` 時加上 `-b` 選項:
2929

3030
[source,console]
@@ -45,7 +45,7 @@ $ git checkout iss53
4545
image::images/basic-branching-2.png[建立一個新分支指標。]
4646

4747
你開始開發網站,並做了一些提交;
48-
因為你檢出了這個分支(也就是 `HEAD` 指標正指向它),`iss53` 分支也隨之向前推進:
48+
因為你檢出(checkout)了這個分支(也就是 `HEAD` 指標正指向它),`iss53` 分支也隨之向前推進:
4949

5050
[source,console]
5151
----
@@ -57,12 +57,12 @@ $ git commit -a -m 'added a new footer [issue 53]'
5757
image::images/basic-branching-3.png[分支 `iss53` 會隨工作進展向前推進。]
5858

5959
現在你接到電話,那個網站有一個問題需要立即修正;
60-
有了 Git ,你就不用把你的緊急修正連同 `iss53` 尚未完成的內容一起部署到正式環境;你也不用為了正確地套用修正而先花一大堆功夫回復之前 `iss53` 的修改;
60+
有了 Git ,你就不用把你的緊急修正連同 `iss53` 尚未完成的內容一起部署(deploy)到正式環境;你也不用為了正確地套用修正而先花一大堆功夫回復之前 `iss53` 的修改;
6161
唯一需要做的只是切換回發佈產品用的 `master` 分支。
6262

63-
然而,在切換分支之前,留意一下你的工作目錄或預存區裡是否有還沒提交的內容,它可能會和你即要檢出的分支產生衝突,Git 會因此而不讓你切換分支;
63+
然而,在切換分支之前,留意一下你的工作目錄或預存區(staging area)裡是否有還沒提交的內容,它可能會和你即要檢出的分支產生衝突(conflict),Git 會因此而不讓你切換分支;
6464
所以切換分支的時候最好先保持一個乾淨的工作區域。
65-
稍後會在 <<_git_stashing>> 中介紹幾個繞過這種問題的辦法(分別叫做「使用收藏」和「提交的修訂方法」)。
65+
稍後會在 <<_git_stashing>> 中介紹幾個繞過這種問題的辦法(分別叫做「使用收藏(stashing)」和「提交的修訂方法(commit amending)」)。
6666
目前先讓我們假設你已經提交了所有的變更,因此你可以切回 `master` 分支了:
6767

6868
[source,console]
@@ -72,7 +72,7 @@ Switched to branch 'master'
7272
----
7373

7474
此時工作目錄中的內容和你在解決問題 #53 之前的內容一模一樣,你可以集中精力進行緊急修正了;
75-
很重要的一點需要牢記:當你切換分支時,Git 會重置工作目錄內容,就像回到你在這個分支最後一次提交後的內容,
75+
很重要的一點需要牢記:當你切換分支時,Git 會重置(reset)工作目錄內容,就像回到你在這個分支最後一次提交後的內容,
7676
它會自動地增加、刪除和修改檔案以確保工作目錄的內容和當時的內容完全一樣。
7777

7878
接下來開始緊急修正;
@@ -106,7 +106,7 @@ Fast-forward
106106

107107
注意合併時有一個「Fast-forward」字眼;
108108
由於你要合併的分支 `hotfix` 所指向的提交 `C4` 直接超前了提交 `C2`,Git 於是簡單地把分支指標向前推進;
109-
換句話說,如果想要合併的提交可以直接往回追溯歷史到目前所在的提交,Git 會因為沒有需要合併的工作而簡單地把指標向前推進——這就是所謂的「快進」。
109+
換句話說,如果想要合併的提交可以直接往回追溯歷史到目前所在的提交,Git 會因為沒有需要合併的工作而簡單地把指標向前推進——這就是所謂的「快進(fast-forward)」。
110110

111111
現在你的修改已經含在 `master` 分支所指向的提交的快照中,你可以部署該修正了。
112112

@@ -162,13 +162,13 @@ index.html | 1 +
162162
這次的合併和之前合併 `hotfix` 的情況看起來有點不一樣;
163163
在這種情況下,你的開發歷史是從一個較早的點便開始分離開來,
164164
由於目前所在的提交(譯註:C4)並不是被合併的分支(譯註:`iss53`,它指向 C5)的直接祖先,Git 必需進行一些處理;
165-
就此例而言,Git 會用兩個分支末端的快照(譯註:C4、C5)以及它們的共同祖先(譯註:C2)進行一次簡單的三方合併。
165+
就此例而言,Git 會用兩個分支末端的快照(譯註:C4、C5)以及它們的共同祖先(譯註:C2)進行一次簡單的三方合併(three-way merge)
166166

167167
.典型的合併會用到的三個快照
168168
image::images/basic-merging-1.png[典型的合併會用到的三個快照。]
169169

170170
不同於將分支指標向前推進,Git 會對三方合併後的結果產生一個新的快照,並自動建立一個指向這個快照的提交(譯註:C6)。
171-
這個提交被稱為「合併提交」,特別的是它的親代超過一個(譯註:C4 和 C5)。
171+
這個提交被稱為「合併提交(merge commit)」,特別的是它的親代(parent)超過一個(譯註:C4 和 C5)。
172172

173173
.一個合併提交
174174
image::images/basic-merging-2.png[一個合併提交]
@@ -201,7 +201,7 @@ Automatic merge failed; fix conflicts and then commit the result.
201201
----
202202

203203
Git 沒有自動產生新的合併提交,
204-
它會暫停下來等你解決衝突
204+
它會暫停下來等你解決(resolve)衝突
205205
在合併衝突發生後的任何時候,如果你要看看哪些檔案還沒有合併,可以使用 `git status`:
206206

207207
[source,console]
@@ -220,7 +220,7 @@ no changes added to commit (use "git add" and/or "git commit -a")
220220
----
221221

222222
它會列出所有有合併衝突且仍未解決的檔案(譯註:列在 `Unmerged paths:` 下面);
223-
Git 會在有衝突的檔案裡加入標準的「衝突解決」標記,因此你可以手動開啟它們以解決這些衝突;
223+
Git 會在有衝突的檔案裡加入標準的「衝突解決(conflict-resolution)」標記,因此你可以手動開啟它們以解決這些衝突;
224224
你的檔案會包含類似下面這樣子的區段:
225225

226226
[source,html]
@@ -247,7 +247,7 @@ please contact us at [email protected]
247247

248248
這個解決方案分別採納了兩個分支中的各一部分內容,並且完整地移除了 `<<<<<<<`、`=======` 和 `>>>>>>>` 這些標記行。
249249
在解決了每個衝突檔案裡的每個衝突後,對每個檔案執行 `git add` 會將它們標記為已解決狀態,
250-
因為預存動作代表了衝突已經解決
250+
因為預存(stage)動作代表了衝突已經解決
251251

252252
如果你想用圖形介面的工具來解決這些衝突,你可以執行 `git mergetool`,它會呼叫一個適當的視覺化合併工具並引導你解決衝突:(((git commands, mergetool)))
253253

0 commit comments

Comments
 (0)