關卡內容:
在你的 複本fork 新增 分支branch。
分支Branches
Git 程式庫repositories 用 分支branches 來隔離進度。當需要跟其他人一起進行專案時,在你完成負責的部份之前,經常需要利用 分支branch 來保護你對程式所做的修改。如此,你就可以讓主要的 'master' 分支branch 保持穩定,不被未完成的修改影響。等到你完成在 分支branch 上的修改,就可以把它 合併merge 回 'master' 分支branch。
在 GitHub Guide 中我們有提供解釋 分支branches 運作方式的示意圖:guides.github.com/overviews/flow
GitHub Pages
GitHub 會自動發佈你放在 'gh-pages' 分支branch 裡的靜態檔案,並架設一個網站。由於你 複製forked 的專案內容是一個網站,所以它的預設 分支branch 是 'gh-pages' 而不是 'master'。而你會發現這些網站,網址都長得像這樣:
http://githubusername.github.io/repositoryname
步驟:新增 分支branch
當你新增 分支branch 的時候,Git 會拷貝目前 分支branch 上所有的檔案到新的 分支branch。
在終端機輸入 git status
可以知道目前你在哪個 分支branch(應該會在 'gh-pages')。
新增一個 分支branch 並命名為「add-<username>」,請用你的帳號名稱替換掉 'username'。例如「add-jlord」。分支Branches 的名字有分大小寫,所以請確定輸入的帳號名稱跟 GitHub 上顯示的一模一樣。
$ git branch <BRANCHNAME>
水啦!你擁有了一個全新、內容跟 'gh-pages' 一模一樣的 分支branch!
就像終端機去另一個資料夾的指令 cd
一樣,請 取出checkout
到剛才新增的 分支branch:
$ git checkout <BRANCHNAME>
步驟:新增檔案
接下來我們回到文字編輯器:
- 新增一個檔案並命名為 「add-<USERNAME>.txt」,請用你的帳號名稱替換 'username',像這樣,「add-jlord.txt」。
- 在檔案裡寫下你的 GitHub 帳號名稱。例如,我就會寫 'jlord'。
- 將檔案存到在 Patchwork 裡的 'contributors' 資料夾: Patchwork/contributors/add-yourusername.txt
- 接著,把你的修改記錄下來!
步驟:紀錄
按照以下的步驟,把剛才的修改用 Git 記錄下來:
$ git status
$ git add <FILENAME>
$ git commit -m "<commit message>"
推送Push 剛才記錄好的修改到 GitHub 上,你 複本的forked 的 程式庫repository 裡頭:
$ git push origin <BRANCHNAME>
確認你完成了所有步驟:
git-it verify
前往下一個關卡
git-it
git-it verify
的時候沒有通過?
File NOT in contributors folder
剛才新增的檔案應該要放到 Patchwork 程式庫repository 的 'contributors'
資料夾裡。如果不小心放到別的地方,請打開 Finder 或是 Windows 的檔案總管將該檔案移到
'contributors' 資料夾,然後可以用 git status
看你剛才移動檔案之後所造成的結果。用以下的指令 預備Stage 並且 提交commit 全部的修改(加上 -A,會將新增檔案跟刪除檔案的動作一起記錄下來):
$ git add -A
$ git commit -m "move file into contributors folder"
分支Branch name expected: _____
分支Branch 的名字應該要跟你的帳號名稱一模一樣。用以下的指令修改 分支branch 的名字:
$ git branch -M <NEWBRANCHNAME>
完成以上的動作之後,再執行一次 git-it verify
!
撇步
- 只用一個指令就新增並切換到新的 分支branch
$ git checkout -b <BRANCHNAME>
- 新增 分支branch
$ git branch <BRANCHNAME>
- 切換到另一個 分支branch
$ git checkout <BRANCHNAME>
- 列出所有的 分支branches
$ git branch
- 重新命名目前所在的 分支branch
$ git branch -m <NEWBRANCHNAME>
- 看目前正在哪個 分支branch
$ git status