99.101 如何使用 SourceTree - Meowurs/TreeOfSaviorChineseTraditional GitHub Wiki

#如何使用 SourceTree

#####目錄

###第一次開啟 首先請先到 SourceTree 官方網站下載 SourceTree。

安裝完成之後,啟動後你會看到以下的畫面,如果你不清楚其他項的意思,全部選第一項就是了。

第一次啟動時詢問

如果接下來跳出這個畫面,請點 Register Now - Free! 註冊一個帳號。

如果要求你註冊

接著你就會看到程式的主畫面,到這裡安裝就算大功告成了。

程式主畫面

###從 Github 裡 Clone

如果想從 Github 之類的地方把檔案拿下來編輯,就一定要知道如何 Clone。

點左上角的 "Clone/New" 之後會出現下圖,螢光筆的部分請輸入你想同步的來源庫。

(本來源庫的連結是:https://github.com/Meowurs/TreeOfSaviorChineseTraditional.git )

Clone畫面

###新增分支(Branch)

分支,你可以理解為檔案版本,比如說修改中的版本、成品版本、草稿版本之類的。

Clone 完之後,先新增一個你工作用的分支,在 Branches 上按右鍵點 "New Branch..."

右鍵新增branch

請在 New Branch 打上 trans 後,點下 "Create Branch" 按鈕。

新增branch對話框

###追蹤 Github 分支

新增完分支後,該分支不會自動追蹤 Github 上面的動態,如果這時有人上傳新的翻譯到 trans 分支,你會看不到。

所以這時麻煩請在 trans 按右鍵,操作如下圖。

追蹤trans分支

現在,我們就如下圖一樣,有兩個分支:

  • master 是存在電腦裡的成品分支
  • trans 是存在電腦裡工作用的分支版本

Remote 指的是在 Github 上面現有的分支:

  • English 是目前所使用的英文翻譯版本
    • 會比官方慢,此分支一旦更新到最新的版本後,會一併更新 trans 分支
  • master 是 Github 上的成品分支
  • trans 是 Github 上翻譯工作用的分支版本

分支列表

以下就是 Clone 好的檔案列表

檔案列表

###提交翻譯修改 (Commit)

在進行翻譯時,若要提交翻譯或想將目前的修改先上傳至 Github 就應該先做 Commit 後 Pull 上去。

比如說我把奇連西 打成 奇連C ,並存檔了。(如下圖)

C三小

這時畫面上就會多一條 "Uncommitted changes" 告訴你有檔案被修改但還沒提交。

先在下方的 unstaged files 檔案列表中選擇想提交的檔案,然後點畫面上的 Commit 按鈕。

提交前畫面

接下來要為這次的 Commit 寫評論,好讓大家知道你傳了什麼上來。好了之後就可以點右下角的 "Commit" 按鈕送出提交。

如果你提交前沒有將 "Push changes immediately to origin/trans" 打勾,那麼你的提交就會只存在你的電腦裡,不會上傳。

如果想將還沒同步上去的 Commit 傳上去,也可以在主畫面點螢光筆畫上的 "Push" 按鈕。

Commit畫面

接著選擇你要 Push 上去的分支。

Push

可能會問你 Github 的帳號密碼。

login

接者你就看得到下圖,trans 是你電腦裡的分支,origin/trans 是在 Github 上的分支,看得出來兩邊的版本一致了。

故意打錯

###還原分支 (reverse)

剛剛我們不小心把錯誤的修改同步出去了,我們可以輕易的把目前的修改還原到某個 Commit

比如說我們想還原到上一個 Commit,就可以如下圖一樣操作。

還原提交

之後你會發現還原 Commit 之後反而會變成另一個新的 Commit。

沒錯,為了讓大家都清楚彼此的修改,連同還原這個動作,都應該被當作新的 Commit 紀錄起來。

###變更目前的分支 (checkout)

如果想從工作分支(trans) 切換到其他分支:如成品分支(master),可以直接對著分支雙擊左鍵即可。

以下圖來說,目前已經切換到 master 分支(因為文字變成粗體)

MASTER

這時打開原本的 ETC.tsv ,就已經沒有 奇連C 了,因為你現在正在看 master 分支版本的檔案,當然不會有 trans 分支的修改。

歡迎你啊奇連西

不過要注意的是,切換分支前,記得把還沒 Commit 的東西全部 Commit 會比較好喔,這樣就不會遺失之前的修改了。

FIXME: 未來補寫 Fetch 及其他