98c34bee3fde8ceda68e3373f429d97f.jpg
以前用習慣了 SVN,但是現在要強迫自己使用 git (因為年輕的工程師很多都只會 git,所以只好換了!)
其實用起來覺得有點 麻煩! 但我想強制自己使用就可以慢慢發覺好處跟順手吧!!
 
紀錄一下使用方法!~ 
  • 下載及安裝 Source Tree
    到下免網址下載並安裝 SourceTree,同時有 Windows 與 MAC 的版本,安裝上並不複雜,所以這邊就省略一下!
  • 建立新的 repository
    安裝好執行起來就像下圖,先按下上方的 [Create] 建立新的 repository
    2a990e2ae43b388fb4bfcafe9af98449.png
     
    在這邊我以 bible.twgbr.kuann.tw 為例 (這個網址只是測試,連不上的!)
    c1d99e9ffebf5fdee204cf0b79d0390d.png
     
    選擇好目錄後按下確定,如果該目錄不是空的,就會有提示警告
    9415ba839e7df3195ac21dd5f9da6436.png
  • 將目前的檔案加入 git repository 中 
    如果目錄下有很多檔案,那就會放到 unstaged files 區域,表示這些檔案尚未 commite9d2c75dd431f8540f56182b57a540a1.png
     
    如果確定這些檔案都是需要進入 git 的話,就可以按下 [stage all] 加入,並且在下方輸入這次 commit 的訊息 (log/history),並按下 commit 放進 git 中
    077d9ad5b233d77684be2aca5817994b.png
     
    加入後,就會看到 "Nothing to commit",表示都已經 commit 完成了
    ea9d3e4ac3588eaf62847b28d4e50c72.png
  • 建立 Git Flow
    在協同工作時,程式需要有不同的階段,預設的 git flow 包含了三個階段
    • develop: 開發階段 
    • master: 產品階段
    • release: 發佈階段
    我自己的方式是,在 local 保有這三個階段,但是 remote 只有 master 跟 release
    也就是說,local commit 時只進入 develop,然後完成部分功能後,就 merge 到 master,並 push 到 remote/master
    7bd86d1add3a5e15a8420faaa6634ff8.png
    2b7c581e1ba24e01cb46f2d4d34ba73f.png
  • 增加 Release
    使用 git flow 會產生出 develop & master,再按一次 Git Flow 來建立 Release
    cf8c2ce0d8eeac5ec56c872730143724.png938626066bbc01d04577ec5625dc95c1.png
    因為預設的 release 是 release/release,我個人覺得太複雜,所以我會 rename 改為 release 就好 (當然如果需要多份 release 就保持原狀即可)
    965f377cbb627ce4af98992102ae88da.png
    0560b365fc0f09ada5d35b145b86846f.png
  • 把 develop (目前的 local commit) 合併到 master
    因為在 develop 中的只存在於 local,並沒有在 remote,也就是別人無法看到你的 code
    所以,先點兩下 [master],表示切換到 master 去,並且開始做 merge ,把程式碼合併到 master
    在 master 上按右鍵,選擇 [Merge master into current branch],就可以完成合併了
  • 設定 remote git 
    現在這個階段,你的程式已經進入 master,但是 remote 還沒有,所以就要先按下 [settings],設定一下 remotes 的資訊
    af17f0592ee7557ca8aa70bf0e331e1d.png
    URL 就要輸入你自己的 git 資訊
    5ca123c0936927b51c8f5b273ffabf16.png
  • Push to remote
    都合併完成後,就按下 [Push] 把 local 的 master (如果要發佈,也需要完成合併到 release 中),然後按下 push 就可以送到 remote,別人也就可以 pull 你的程式碼了
    e080ebd750d8e8ec7cddd82db05a171a.png
    7c379bfa71ff7b1cfebb0bcb994e3b85.png
  • SourceTree 資料儲存路徑
    C:\Users\<username>\AppData\Local\Atlassian\SourceTree\
  • 如何提升效能
    git config --global core.preloadindex true
    git config --global core.fscache true
    git config --global gc.auto 256
Facebook 討論區載入中...