fix some typo

This commit is contained in:
tumh 2014-04-28 21:10:18 +08:00
parent 4261560f4b
commit 0928f76f71
15 changed files with 54 additions and 54 deletions

View file

@ -5,7 +5,7 @@ exports.level = {
"en_US": "Clone Intro", "en_US": "Clone Intro",
"de_DE": "Clone Einführung", "de_DE": "Clone Einführung",
"zh_CN": "Clone Intro", "zh_CN": "Clone Intro",
"zh_TW": "介紹 Clone" "zh_TW": "介紹 clone"
}, },
"hint": { "hint": {
"en_US": "Just git clone!", "en_US": "Just git clone!",
@ -79,13 +79,13 @@ exports.level = {
"markdowns": [ "markdowns": [
"## Git Remotes", "## Git Remotes",
"", "",
"Remote (遠端) repository 並不會很難了解. 藉由現在的雲端運算,可以很輕易地了解到在 git remotes 裡面有很多有趣的事情,但它們其實其實就只是你的或者是其它電腦上的 repository 的副本。你可以輕易地透過網路去發送你的 commit 給其它的電腦。", "remote (遠端) repository 並不會很難了解. 藉由現在的雲端運算,可以很輕易地了解到在 git remote 裡面有很多有趣的事情,但它們其實其實就只是你的或者是其它電腦上的 repository 的副本。你可以輕易地透過網路去發送你的 commit 給其它的電腦。",
"", "",
"也就是說, remote repository 有很多有趣的地方:", "也就是說, remote repository 有很多有趣的地方:",
"", "",
"- 第一remote 是用來備份的! 本地端的 git 有能力可以回復文件到前一個狀態 (你知道的),但是全部的資訊還是儲存在本地端。如果你在其它的電腦上面有你的 git repository 的副本,則你可以在資料不小心遺失的時候進行救援備份", "- 第一remote 是用來備份的! 本地端的 git 有能力可以回復文件到前一個狀態 (你知道的),但是全部的資訊還是儲存在本地端。如果你在其它的電腦上面有你的 git repository 的副本,則你可以在資料不小心遺失的時候進行救援備份",
"", "",
"- 更重要的是, remotes 讓大家一起來 coding現在你的 project 放在 remote 上面,你的朋友可以很容易地對你的 project 做出貢獻(或者是 pull 你最後的修改) 。", "- 更重要的是, remote 讓大家一起來 coding現在你的 project 放在 remote 上面,你的朋友可以很容易地對你的 project 做出貢獻(或者是 pull 你最後的修改) 。",
"", "",
"使用網站去對 remote repository 做視覺化非常流行(例如 [Github](https://github.com/ 或者是 [Phabricator]http://phabricator.org/)),但這背後最大的功臣是 remote repository因此我們務必要了解它。" "使用網站去對 remote repository 做視覺化非常流行(例如 [Github](https://github.com/ 或者是 [Phabricator]http://phabricator.org/)),但這背後最大的功臣是 remote repository因此我們務必要了解它。"
] ]

View file

@ -92,7 +92,7 @@ exports.level = {
"`fakeTeamwork` 的預設行為是在送一個 commit 給 master 分支" "`fakeTeamwork` 的預設行為是在送一個 commit 給 master 分支"
], ],
"afterMarkdowns": [ "afterMarkdowns": [
"我就說吧remote 已經藉由一個新的 commit 而更新了,而且因為我們還沒有用 `git fetch`,所以表示我們還沒有下載該 commit。." "我就說吧remote 已經藉由一個新的 commit 而更新了,而且因為我們還沒有用 `git fetch`,所以表示我們還沒有下載該 commit。"
], ],
"command": "git fakeTeamwork", "command": "git fakeTeamwork",
"beforeCommand": "git clone" "beforeCommand": "git clone"

View file

@ -6,7 +6,7 @@ exports.level = {
"en_US": "Git Fetchin'", "en_US": "Git Fetchin'",
"de_DE": "Git Fetch", "de_DE": "Git Fetch",
"zh_CN": "Git Fetchin'", "zh_CN": "Git Fetchin'",
"zh_TW": "Git Fetchin'" "zh_TW": "git fetch"
}, },
"hint": { "hint": {
"en_US": "just run git fetch!", "en_US": "just run git fetch!",
@ -94,9 +94,9 @@ exports.level = {
"type": "ModalAlert", "type": "ModalAlert",
"options": { "options": {
"markdowns": [ "markdowns": [
"## Git Fetch", "## git fetch",
"", "",
"透過 git remotes 其實就是把資料接收或傳送到其它的 repository只要我們可以將資料傳進及傳出我們就可以分享任何被 git 所追蹤的 repository 的更新(例如分享工作進度,新的檔案,新的想法,以及情書等等...)。", "透過 git remote 其實就是把資料接收或傳送到其它的 repository只要我們可以將資料傳進及傳出我們就可以分享任何被 git 所追蹤的 repository 的更新(例如分享工作進度,新的檔案,新的想法,以及情書等等...)。",
"", "",
"在這個教學中,我們會學習到如何從 remote repository 來 fetch (抓取)資料,這個指令叫作 `git fetch`。", "在這個教學中,我們會學習到如何從 remote repository 來 fetch (抓取)資料,這個指令叫作 `git fetch`。",
"", "",
@ -108,10 +108,10 @@ exports.level = {
"type": "GitDemonstrationView", "type": "GitDemonstrationView",
"options": { "options": {
"beforeMarkdowns": [ "beforeMarkdowns": [
"在講到 `git fetch` 的細節之前,我們要先來看一下例子! 在這裡我們有一個包含了兩個 commit 的 remote repository而且我們的 local repository 並沒有包含這兩個 commit。" "在講到 `git fetch` 的細節之前,我們要先來看一下例子! 在這裡我們有一個新增了兩個 commit 的 remote repository而且我們的 local repository 並沒有包含這兩個 commit。"
], ],
"afterMarkdowns": [ "afterMarkdowns": [
"看吧commits `C2` 以及 `C3` 已經被下載到我們的 local repository而且我們的 remote branch `o/master` 也更新了。" "看吧commit `C2` 以及 `C3` 已經被下載到我們的 local repository而且我們的 remote branch `o/master` 也更新了。"
], ],
"command": "git fetch", "command": "git fetch",
"beforeCommand": "git clone; git fakeTeamwork 2" "beforeCommand": "git clone; git fakeTeamwork 2"
@ -125,7 +125,7 @@ exports.level = {
"", "",
"`git fetch` 只有執行了兩個主要步驟,包含:", "`git fetch` 只有執行了兩個主要步驟,包含:",
"", "",
"* 下載 remote 有的 commit但是在我們的 local repository 是沒有該 commit。還有‧‧‧", "* 下載 remote 有的 commit但是在我們的 local repository 是沒有該 commit。還有...",
"* 更新我們 remote branch 所指向的地方(例如, `o/master`", "* 更新我們 remote branch 所指向的地方(例如, `o/master`",
"", "",
"基本上,`git fetch` 同步了我們的 local repository 以及 remote repository 的最新狀態。", "基本上,`git fetch` 同步了我們的 local repository 以及 remote repository 的最新狀態。",

View file

@ -5,7 +5,7 @@ exports.level = {
"name": { "name": {
"en_US": "Fetch arguments", "en_US": "Fetch arguments",
"zh_CN": "Fetch arguments", "zh_CN": "Fetch arguments",
"zh_TW": "Fetch 的參數", "zh_TW": "fetch 的參數",
"de_DE": "Optionen für Fetch" "de_DE": "Optionen für Fetch"
}, },
"hint": { "hint": {
@ -148,7 +148,7 @@ exports.level = {
"", "",
"我們剛學到了所有關於 git push 的參數,有非常棒的 `<place>` 參數,甚至是 colon refspecs`<source>:<destination>`),我們可不可以也同樣套用到 `git fetch` 上面?", "我們剛學到了所有關於 git push 的參數,有非常棒的 `<place>` 參數,甚至是 colon refspecs`<source>:<destination>`),我們可不可以也同樣套用到 `git fetch` 上面?",
"", "",
"你說得對`git fetch` 的參數*非常非常*類似 `git push`,一樣的概念,但方向不同(因為你在下載 commit而不是在上傳 commit。", "你猜對了`git fetch` 的參數*非常非常*類似 `git push`,一樣的概念,但方向不同(因為你在下載 commit而不是在上傳 commit。",
"", "",
"讓我們一次講一個概念..." "讓我們一次講一個概念..."
] ]
@ -189,7 +189,7 @@ exports.level = {
"markdowns": [ "markdowns": [
"你也許會感到奇怪,為什麼 git 是把這些 commit 放到 `o/foo` branch 而不是放到我的 local 的 `foo` branch 我認為,`<place>` 參數是表示一個位置,這個位置同時存在 local 跟 remote 上?", "你也許會感到奇怪,為什麼 git 是把這些 commit 放到 `o/foo` branch 而不是放到我的 local 的 `foo` branch 我認為,`<place>` 參數是表示一個位置,這個位置同時存在 local 跟 remote 上?",
"", "",
"因為你可能已經 checkout 到 `foo` branch 上,而且你不想要打亂上面的 commit因此 git 才會特別這樣做!! 這就又回到之前的 `git fetch` 的課程,它並不會放到你的 local 上的 branch (該 branch 沒有對應到任何的 remote branch),它只會下載 commit 到 local 上且表示 remote 的 branch所以你之後可以觀察/merge 它們)。", "因為你可能已經 checkout 到 `foo` branch 上,而且你不想要打亂上面的 commit因此 git 才會特別這樣做!!這就又回到之前的 `git fetch` 的課程,它並不會放到你的 local 上的 branch (該 branch 沒有對應到任何的 remote branch),它只會下載 commit 到 local 上且表示 remote 的 branch所以你之後可以觀察或者 merge 它們)。",
"" ""
] ]
} }
@ -238,7 +238,7 @@ exports.level = {
"type": "GitDemonstrationView", "type": "GitDemonstrationView",
"options": { "options": {
"beforeMarkdowns": [ "beforeMarkdowns": [
"沒有參數的情況?", "沒有參數的情況",
"", "",
"如果使用 `git fetch` 的時候,沒有指定任何的參數,那就相當於它會下載 remote 上面的所有的 commit並且把這些 commit 放到 local 上面所有對應到 remote 的 branch..." "如果使用 `git fetch` 的時候,沒有指定任何的參數,那就相當於它會下載 remote 上面的所有的 commit並且把這些 commit 放到 local 上面所有對應到 remote 的 branch..."
], ],
@ -253,7 +253,7 @@ exports.level = {
"type": "ModalAlert", "type": "ModalAlert",
"options": { "options": {
"markdowns": [ "markdowns": [
"好的,了好多要完成這一關fetch 視覺化的目標所指定的 commit好好玩這些指令吧", "好的,了好多要完成這一關fetch 視覺化的目標所指定的 commit好好玩這些指令吧",
"", "",
"對於兩個 fetch 的指令,你必須要指定 source 以及 destination注意一下視覺化的目標因為 commit 的 id 可以被交換!" "對於兩個 fetch 的指令,你必須要指定 source 以及 destination注意一下視覺化的目標因為 commit 的 id 可以被交換!"
] ]

View file

@ -5,13 +5,13 @@ exports.level = {
"name": { "name": {
"en_US": "Diverged History", "en_US": "Diverged History",
"zh_CN": "分散的历史", "zh_CN": "分散的历史",
"zh_TW": "Diverged History", "zh_TW": "diverged history",
"de_DE": "Abweichende History" "de_DE": "Abweichende History"
}, },
"hint": { "hint": {
"en_US": "check out the ordering from the goal visualization", "en_US": "check out the ordering from the goal visualization",
"zh_CN": "检出可视化目标中的顺序", "zh_CN": "检出可视化目标中的顺序",
"zh_TW": "確認目標中的順序", "zh_TW": "確認視覺化的目標中的順序",
"de_DE": "Beachte die Reihenfolge in der Zieldarstellung" "de_DE": "Beachte die Reihenfolge in der Zieldarstellung"
}, },
"startDialog": { "startDialog": {
@ -168,7 +168,7 @@ exports.level = {
"", "",
"到目前為止我們已經知道如何 `pull` 其他人所送的 commit而且也知道如何 `push` 我們自己的 commit感覺很簡單但是為什麼有人看起來很困惑", "到目前為止我們已經知道如何 `pull` 其他人所送的 commit而且也知道如何 `push` 我們自己的 commit感覺很簡單但是為什麼有人看起來很困惑",
"", "",
"當 repo 的歷史紀錄是 *diverge branch 走向不同)* 的狀態時就會很棘手,在討論這個之前,讓我們先來看一個例子...", "當 repo 的歷史紀錄是 *divergebranch 走向不同)* 的狀態時就會很棘手,在討論這個之前,讓我們先來看一個例子...",
"" ""
] ]
} }
@ -227,7 +227,7 @@ exports.level = {
"markdowns": [ "markdowns": [
"在 remote 已經率先更新之後,還有沒有其它方法可以上傳我們的 commit當然有阿我們這次利用 `merge` 來做看看!", "在 remote 已經率先更新之後,還有沒有其它方法可以上傳我們的 commit當然有阿我們這次利用 `merge` 來做看看!",
"", "",
"雖然 `git merge` 並不會去移動你的 commit (反而會產生一個 merge commit這是一個告訴 git 你已經下載了 remote 上面的 commit 並且在 local repo 中已經做完 merge而因為 remote branch 上的最新的 commit 現在已經是 merge commit 的一個 *ancestor*,這就表示你的 commit 已經包含了在 remote branch 上的所有 commit。", "雖然 `git merge` 並不會去移動你的 commit(反而會產生一個 merge commit這是一個告訴 git 你已經下載了 remote 上面的 commit 並且在 local repo 中已經做完 merge而因為 remote branch 上的最新的 commit 現在已經是 merge commit 的一個 *ancestor*,這就表示你的 commit 已經包含了在 remote branch 上的所有 commit。",
"", "",
"讓我們來看一下這種情況..." "讓我們來看一下這種情況..."
] ]
@ -240,7 +240,7 @@ exports.level = {
"現在假設我們不是用 rebase而是用 merge..." "現在假設我們不是用 rebase而是用 merge..."
], ],
"afterMarkdowns": [ "afterMarkdowns": [
"看吧!我們藉由 `git fetch` 把 remote 上的 commit 下載下來,並且 *merged* 該 commit 到我們目前的 branch (這樣就表示我們產生的 merge commit 有包含了 remote 上的 commit接著再透過 `git push` 上傳到 remote。" "看吧!我們藉由 `git fetch` 把 remote 上的 commit 下載下來,並且 *merged* 該 commit 到我們目前的 branch(這樣就表示我們產生的 merge commit 有包含了 remote 上的 commit接著再透過 `git push` 上傳到 remote。"
], ],
"command": "git fetch; git merge o/master; git push", "command": "git fetch; git merge o/master; git push",
"beforeCommand": "git clone; git fakeTeamwork; git commit" "beforeCommand": "git clone; git fakeTeamwork; git commit"
@ -290,7 +290,7 @@ exports.level = {
"markdowns": [ "markdowns": [
"fetchrebase/merge以及 push 的流程是幾乎一樣的。在之後的教學中我們會看到比這些流程更複雜的版本。但是現在讓我們先牛刀小試一下。", "fetchrebase/merge以及 push 的流程是幾乎一樣的。在之後的教學中我們會看到比這些流程更複雜的版本。但是現在讓我們先牛刀小試一下。",
"", "",
"為了要完成這一關,請按照下面的步驟:", "為了要完成這一關,請按照下面的步驟",
"", "",
"* clone 你的 repo", "* clone 你的 repo",
"* 假裝送一個 commit 給 remote", "* 假裝送一個 commit 給 remote",

View file

@ -5,7 +5,7 @@ exports.level = {
"name": { "name": {
"en_US": "Merging with remotes", "en_US": "Merging with remotes",
"zh_CN": "Merging with remotes", "zh_CN": "Merging with remotes",
"zh_TW": "Merging with remotes", "zh_TW": "merge with remotes",
"de_DE": "Änderungen vom Remote zusammenführen" "de_DE": "Änderungen vom Remote zusammenführen"
}, },
"hint": { "hint": {

View file

@ -5,7 +5,7 @@ exports.level = {
"name": { "name": {
"en_US": "Git Pullin'", "en_US": "Git Pullin'",
"zh_CN": "Git Pullin'", "zh_CN": "Git Pullin'",
"zh_TW": "Git Pullin'", "zh_TW": "git pull'",
"de_DE": "Git Pull" "de_DE": "Git Pull"
}, },
"hint": { "hint": {
@ -80,11 +80,11 @@ exports.level = {
"type": "ModalAlert", "type": "ModalAlert",
"options": { "options": {
"markdowns": [ "markdowns": [
"## Git Pull", "## git pull",
"", "",
"現在我們已經知道如何利用 `git fetch` 從 remote 抓取資料,讓我們來看一下如何更新我們的資料", "現在我們已經知道如何利用 `git fetch` 從 remote 抓取 commit讓我們來看一下如何將這些 commit 更新到我們的檔案",
"", "",
"只要在你的 local 有新的 commit便有很多方法可以做到這件事情你可以把它們視為在其它 branch 上面的一般的 commit這表示你可以執行像這樣子的指令:", "只要在你的 local 有 fetch 到新的 commit便有很多方法可以做到這件事情你可以把它們視為在其它 branch 上面的一般的 commit這表示你可以執行像這樣子的指令:",
"", "",
"* `git cherry-pick o/master`", "* `git cherry-pick o/master`",
"* `git rebase o/master`", "* `git rebase o/master`",
@ -102,7 +102,7 @@ exports.level = {
"讓我們來看循序執行一個 `fetch` 和一個 `merge` 的樣子" "讓我們來看循序執行一個 `fetch` 和一個 `merge` 的樣子"
], ],
"afterMarkdowns": [ "afterMarkdowns": [
"看吧! 我們利用 `fetch` 下載了 `C3` 並且利用 `git merge o/master` 來更新資料,現在我們的 `master` branch 跟 remote 的新的工作進度同步了在這個例子中remote repository 叫作 `origin`)。" "看吧! 我們利用 `fetch` 下載了 `C3` 並且利用 `git merge o/master` 來更新資料,現在我們的 `master` branch 跟 remote 同步了在這個例子中remote repository 叫作 `origin`)。"
], ],
"command": "git fetch; git merge o/master", "command": "git fetch; git merge o/master",
"beforeCommand": "git clone; git commit; git fakeTeamwork" "beforeCommand": "git clone; git commit; git fakeTeamwork"

View file

@ -5,13 +5,13 @@ exports.level = {
"name": { "name": {
"en_US": "Pull arguments", "en_US": "Pull arguments",
"zh_CN": "Pull arguments", "zh_CN": "Pull arguments",
"zh_TW": "Pull 的參數", "zh_TW": "pull 的參數",
"de_DE": "Optionen für Pull" "de_DE": "Optionen für Pull"
}, },
"hint": { "hint": {
"en_US": "Remember that you can create new local branches with fetch/pull arguments", "en_US": "Remember that you can create new local branches with fetch/pull arguments",
"zh_CN": "记住, 你可以通过fetch/pull创建本地分支", "zh_CN": "记住, 你可以通过fetch/pull创建本地分支",
"zh_TW": "記住,你可以透過 fetch/pull 來建立一個新的 local 的分支", "zh_TW": "記住,你可以透過 fetch 以及 pull 來建立一個新的 local 的 branch",
"de_DE": "Du kannst neue lokale Branches mittels fetch / pull erstellen" "de_DE": "Du kannst neue lokale Branches mittels fetch / pull erstellen"
}, },
"startDialog": { "startDialog": {
@ -121,7 +121,7 @@ exports.level = {
"", "",
"`git fetch origin bar~1:bugFix; git merge bugFix`", "`git fetch origin bar~1:bugFix; git merge bugFix`",
"", "",
"看吧? `git pull` 真的就只是表示 fetch 跟 merge 的一個簡化後的指令,而且 `git pull` 所根據的是這些 commit 要放置的位置(在 fetch 的時候所指定的`destination`)。", "看吧?`git pull` 真的就只是表示 fetch 跟 merge 的一個簡化後的指令,而且 `git pull` 所根據的是這些 commit 要放置的位置(在 fetch 的時候所指定的`destination`)。",
"", "",
"讓我們來看一個例子:" "讓我們來看一個例子:"
] ]

View file

@ -5,7 +5,7 @@ exports.level = {
"name": { "name": {
"en_US": "Git Pushin'", "en_US": "Git Pushin'",
"zh_CN": "Git Pushin'", "zh_CN": "Git Pushin'",
"zh_TW": "Git Pushin'", "zh_TW": "git push",
"de_DE": "Git Push" "de_DE": "Git Push"
}, },
"hint": { "hint": {
@ -70,7 +70,7 @@ exports.level = {
"", "",
"`git push` 負責上傳_你的_ commit 到特定 remote 上面並且做出相對應的更新,只要做完了 `git push`,所有你的朋友都可以從 remote 上面下載你所送出去的 commit。", "`git push` 負責上傳_你的_ commit 到特定 remote 上面並且做出相對應的更新,只要做完了 `git push`,所有你的朋友都可以從 remote 上面下載你所送出去的 commit。",
"", "",
"你可以把 `git push` 當作是一個 \"發佈\" 你的工作進度的指令,還有一些我們即將要講到的細節,但是先讓我們從一些簡單的步驟開始。" "你可以把 `git push` 當作是一個\"發佈\"你的工作進度的指令,還有一些我們即將要講到的細節,但是先讓我們從一些簡單的步驟開始。"
] ]
} }
}, },

View file

@ -8,7 +8,7 @@ exports.level = {
"name": { "name": {
"en_US": "Git push arguments", "en_US": "Git push arguments",
"zh_CN": "Git push 参数", "zh_CN": "Git push 参数",
"zh_TW": "Git push 的參數", "zh_TW": "git push 的參數",
"de_DE": "Optionen für Git Push" "de_DE": "Optionen für Git Push"
}, },
"hint": { "hint": {
@ -95,9 +95,9 @@ exports.level = {
"type": "ModalAlert", "type": "ModalAlert",
"options": { "options": {
"markdowns": [ "markdowns": [
"## Push 的參數", "## push 的參數",
"", "",
"太好了!現在你已經明白了 remote tracking我們可以開始聊 git pushfetch以及 pull 的一些有趣的地方,我們一次會講解一個指令,但是它們之間的概念是很類似的。", "太好了!現在你已經明白了 remote tracking我們可以開始聊 git push、fetch 以及 pull 的一些有趣的地方,我們一次會講解一個指令,但是它們之間的概念是很類似的。",
"", "",
"首先我們來看一下 `git push`,你已經在 remote tracking 的課程中學習到 git 是根據目前 checkout 的 branch 所 track 的 remote branch 來做 push這是在沒有任何的參數的情況下的預設動作但是 git push 允許我們可以加上一些參數:", "首先我們來看一下 `git push`,你已經在 remote tracking 的課程中學習到 git 是根據目前 checkout 的 branch 所 track 的 remote branch 來做 push這是在沒有任何的參數的情況下的預設動作但是 git push 允許我們可以加上一些參數:",
"", "",
@ -111,7 +111,7 @@ exports.level = {
"type": "ModalAlert", "type": "ModalAlert",
"options": { "options": {
"markdowns": [ "markdowns": [
"`<place>` 這個參數表示什麼? 我們等一下會提到細節,但是先來看一個例子,執行以下的指令:", "`<place>` 這個參數表示什麼? 我們等一下會提到細節,但是先來看一個例子,執行以下的指令",
"", "",
"`git push origin master`", "`git push origin master`",
"", "",
@ -142,7 +142,7 @@ exports.level = {
"type": "GitDemonstrationView", "type": "GitDemonstrationView",
"options": { "options": {
"beforeMarkdowns": [ "beforeMarkdowns": [
"假如我們沒有特別指令參數會發生什麼事情?" "假如我們沒有特別指令參數會發生什麼事情"
], ],
"afterMarkdowns": [ "afterMarkdowns": [
"指令會失敗(就像你看到的),因為 `HEAD` 並沒有指向一個有 track remote branch 的 branch 上面阿。" "指令會失敗(就像你看到的),因為 `HEAD` 並沒有指向一個有 track remote branch 的 branch 上面阿。"

View file

@ -5,7 +5,7 @@ exports.level = {
"name": { "name": {
"en_US": "Git push arguments -- Expanded!", "en_US": "Git push arguments -- Expanded!",
"zh_CN": "Git push 参数2!", "zh_CN": "Git push 参数2!",
"zh_TW": "Git push 的參數,延伸討論!", "zh_TW": "git push 的參數,延伸討論!",
"de_DE": "Optionen fü Git Push -- noch mehr!" "de_DE": "Optionen fü Git Push -- noch mehr!"
}, },
"hint": { "hint": {
@ -93,7 +93,7 @@ exports.level = {
"markdowns": [ "markdowns": [
"## `<place>` 這個參數的細節", "## `<place>` 這個參數的細節",
"", "",
"回想一下,我們在之前的課程中提到,當我們用 `git push` 並且把 `master` 當作 place 這個參數的時候,我們就相當於告訴 git 我們的所要更新的 commit 要*從哪裡來*source 並且要 *往哪裡去*destination。", "回想一下,我們在之前的課程中提到,當我們用 `git push` 並且把 `master` 當作 `<place>` 這個參數的時候,我們就相當於告訴 git 我們的所要更新的 commit 要*從哪裡來*source 並且要 *往哪裡去*destination。",
"", "",
"你可能會很好奇,當我們的 source 以及 destination 是不同的時候,應該怎麼做?當你想要 push `foo` branch 上面的 commit 到 remote 的 `bar` branch 的時候,應該怎麼做?", "你可能會很好奇,當我們的 source 以及 destination 是不同的時候,應該怎麼做?當你想要 push `foo` branch 上面的 commit 到 remote 的 `bar` branch 的時候,應該怎麼做?",
"", "",
@ -121,7 +121,7 @@ exports.level = {
"type": "GitDemonstrationView", "type": "GitDemonstrationView",
"options": { "options": {
"beforeMarkdowns": [ "beforeMarkdowns": [
"記住, `source` 表示任意可以被 git 辨識的位置:" "記住, `source` 表示任意可以被 git 辨識的位置"
], ],
"afterMarkdowns": [ "afterMarkdowns": [
"哇!這實在是一個很花俏的指令但是確很合理git 把 `foo^` 解讀成一個位置,並且 push 該位置的 commit 到目前 remote 的 master branch。 " "哇!這實在是一個很花俏的指令但是確很合理git 把 `foo^` 解讀成一個位置,並且 push 該位置的 commit 到目前 remote 的 master branch。 "
@ -149,7 +149,7 @@ exports.level = {
"markdowns": [ "markdowns": [
"對於這個關卡,想辦法達到這個視覺化的目標,而且要記得格式:", "對於這個關卡,想辦法達到這個視覺化的目標,而且要記得格式:",
"", "",
"`<來源>:<目的地>`" "`<source>:<destination>`"
] ]
} }
} }

View file

@ -11,7 +11,7 @@ exports.level = {
"name": { "name": {
"en_US": "Push Master!", "en_US": "Push Master!",
"zh_CN": "Push Master!", "zh_CN": "Push Master!",
"zh_TW": "Push Master!", "zh_TW": "push master",
"de_DE": "Push Master!" "de_DE": "Push Master!"
}, },
"compareOnlyMasterHashAgnostic": true, "compareOnlyMasterHashAgnostic": true,
@ -75,11 +75,11 @@ exports.level = {
"type": "ModalAlert", "type": "ModalAlert",
"options": { "options": {
"markdowns": [ "markdowns": [
"## Merging feature branches", "## merge feature branch",
"", "",
"現在你已經很熟悉 fetchpull以及 push讓我們來針對一個新的問題來應用這些技巧。", "現在你已經很熟悉 fetch、pull 以及 push讓我們來針對一個新的問題來應用這些技巧。",
"", "",
"在一個大型的專案裡面,程式設計師經常會在 feature branch (有別於 master branch 上面做開發,之後等開發完之後,在一次 merge 回去。這跟之前的課程是很類似的(其它的 branch 被 push 到 remote但是現在我們還要再多介紹一個步驟。", "在一個大型的專案裡面,程式設計師經常會在 feature branch(有別於 master branch 上面做開發,之後等開發完之後,在一次 merge 回去。這跟之前的課程是很類似的(其它的 branch 被 push 到 remote但是現在我們還要再多介紹一個步驟。",
"", "",
"某些程式設計師只針對 `master` branch 進行 push 或者是 pull。這樣子的話 `master` 一直都保持跟 remote `o/master` 同步。", "某些程式設計師只針對 `master` branch 進行 push 或者是 pull。這樣子的話 `master` 一直都保持跟 remote `o/master` 同步。",
"", "",

View file

@ -5,7 +5,7 @@ exports.level = {
"name": { "name": {
"en_US": "Remote Branches", "en_US": "Remote Branches",
"zh_CN": "Remote Branches", "zh_CN": "Remote Branches",
"zh_TW": "Remote Branches (遠端分支)", "zh_TW": "remote branch (遠端分支)",
"de_DE": "Branches auf entfernten Servern" "de_DE": "Branches auf entfernten Servern"
}, },
"hint": { "hint": {
@ -82,15 +82,15 @@ exports.level = {
"type": "ModalAlert", "type": "ModalAlert",
"options": { "options": {
"markdowns": [ "markdowns": [
"## Git Remote Branches", "## git remote branch",
"", "",
"現在你已經知道 `git clone` 在幹嘛了,讓我們仔細看看到底發生了什麼事。", "現在你已經知道 `git clone` 在幹嘛了,讓我們仔細看看到底發生了什麼事。",
"", "",
"你首先看到的是在你的本地端local repository出現了一個新的 branch 叫作 `o/master`,這種型態的 branch 叫作 remote branch (遠端分支),因為特殊的需求,因此 remote branch 有特殊的性質。", "你首先看到的是在你的本地端local repository出現了一個新的 branch 叫作 `o/master`,這種型態的 branch 叫作 remote branch (遠端分支),因為特殊的需求,因此 remote branch 有特殊的性質。",
"", "",
"remote branch 反應了 remote repository 的狀態(因為你最後接觸的是這些 remote repository最重要的是在你想要分享你的工作給其他人時,你必須知道你現在的工作跟 remote repository 有哪些不同,而 remote branch 的狀態就是在告訴你這些資訊。", "remote branch 反應了 remote repository 的狀態(因為你最後接觸的是這些 remote repository最重要的是在你想要分享你的 commit 給其他人時,你必須知道你現在的 commit 跟 remote repository 有哪些不同,而 remote branch 的狀態就是在告訴你這些資訊。",
"", "",
"remote branch 有特別的特性,當你移動到 remote branch 時,你就進入到 detached `HEAD` 狀態git 這樣做的原因是告訴你不能夠直接影響這些 branch。你必須要在其它的 branch 工作,並且分享到 remote (分享之後,你的 remote branch 就會被更新)。" "remote branch 有特別的特性,當你移動到 remote branch 時,你就進入到分離 `HEAD` 的狀態git 這樣做的原因是告訴你不能夠直接影響這些 branch。你必須要在其它的 branch 工作,並且分享到 remote (分享之後,你的 remote branch 就會被更新)。"
] ]
} }
}, },

View file

@ -11,7 +11,7 @@ exports.level = {
"hint": { "hint": {
"en_US": "The branch command is disabled for this level so you'll have to use fetch!", "en_US": "The branch command is disabled for this level so you'll have to use fetch!",
"zh_CN": "本节的分支命令被禁用了, 你只能使用fetch! ", "zh_CN": "本节的分支命令被禁用了, 你只能使用fetch! ",
"zh_TW": "在本關卡中,不允許使用 branch 指令,因此你只能使用 fetch!", "zh_TW": "在本關卡中,不允許使用 branch 指令,因此你只能使用 fetch",
"de_DE": "Der branch Befehl ist für diesen Level inaktiv, du musst also fetch benutzen" "de_DE": "Der branch Befehl ist für diesen Level inaktiv, du musst also fetch benutzen"
}, },
"startDialog": { "startDialog": {

View file

@ -5,7 +5,7 @@ exports.level = {
"name": { "name": {
"en_US": "Remote Tracking", "en_US": "Remote Tracking",
"zh_CN": "Remote Tracking", "zh_CN": "Remote Tracking",
"zh_TW": "Remote Tracking", "zh_TW": "remote tracking",
"de_DE": "Remote Tracking" "de_DE": "Remote Tracking"
}, },
"hint": { "hint": {
@ -139,11 +139,11 @@ exports.level = {
"type": "ModalAlert", "type": "ModalAlert",
"options": { "options": {
"markdowns": [ "markdowns": [
"### Remote-Tracking branches", "### remote tracking branch",
"", "",
"在之前的課程中,有一件事情看起來很\"神奇\",那就是 git 知道 `master` branch 是對應到 `o/master` branch。當然這些 branch 有類似的名稱,所以可以大概猜到, local 的 `master` branch 可以對應到 remote 的 `master branch`,但是我們是在兩種情況下可以確定有這個對應關係:", "在之前的課程中,有一件事情看起來很\"神奇\",那就是 git 知道 `master` branch 是對應到 `o/master` branch。當然這些 branch 有類似的名稱,所以可以大概猜到, local 的 `master` branch 可以對應到 remote 的 `master branch`,但是我們是在兩種情況下可以確定有這個對應關係:",
"", "",
"* 在使用 `pull` 的時候,下載 commit 到 `o/master`,並且 `merge` 這些 commit 到 `master` branch這就表示這個 merge 的目標是決定於這個對應關係 。", "* 在使用 `pull` 的時候,下載 commit 到 `o/master`,並且 `merge` 這些 commit 到 `master` branch這就表示這個 merge 的目標是決定於這個對應關係。",
"* 在使用 `push` 的時候,在 `master` branch 上面的 commit 被 push 到 remote 上面的 `master` branch (它在 local 被表示成 `o/master`),這就表示 push 的目標是決定於 `master` 以及 `o/master` 之間的對應關係。", "* 在使用 `push` 的時候,在 `master` branch 上面的 commit 被 push 到 remote 上面的 `master` branch (它在 local 被表示成 `o/master`),這就表示 push 的目標是決定於 `master` 以及 `o/master` 之間的對應關係。",
"" ""
] ]
@ -155,7 +155,7 @@ exports.level = {
"markdowns": [ "markdowns": [
"## Remote tracking", "## Remote tracking",
"", "",
"長話短說,我們可以用 branch 上面的 \"remote tracking\" 特性來表示介於 `master` 以及 `o/master` 的 connection`master` branch 被設定用來追蹤track `o/master`,這就表示對於 `master` branch 來說的話,有一個 merge 的目標以及 push 的目標。", "長話短說,我們可以用 branch 上面的 \"remote tracking\" 特性來表示介於 `master` 以及 `o/master` 的對應關係`master` branch 被設定用來追蹤track `o/master`,這就表示對於 `master` branch 來說的話,有一個 merge 的目標以及 push 的目標。",
"", "",
"你可能會覺得很奇怪,當你沒有下任何指令去設定的時候,關於 `master` branch 的對應關係是如何被設定的。喔!其實當你 clone 一個 repo 的時候,其實就已經自動幫你做設定了。 ", "你可能會覺得很奇怪,當你沒有下任何指令去設定的時候,關於 `master` branch 的對應關係是如何被設定的。喔!其實當你 clone 一個 repo 的時候,其實就已經自動幫你做設定了。 ",
"", "",