# Git版本控制 //建立資料夾存放Repository //Source tree/Fork是上傳專案/程式碼到Github的工具 //一異動即Commit,及時存檔 ### 1.上傳專案/程式碼 //Add/Create→Browse→檔案放置處→File Status→Update Files點選"+"→註解Commit→上傳後Push *上傳時不選Stage all,防止檔案重複上傳 ### 2.Github專案Colone //Colone→複製專案網址→選擇專案儲存位置→檔名→File Status→Update Files點選"+"→註解Commit→上傳後Push→如檔案衝突先Pull後Push *有時上傳新版本Pull不會顯示 //更新已Colone檔案時→Pull→File Status→Update Files點選"+"→註解Commit→上傳後Push→如檔案衝突先Pull後Push * ### Branches //Repository的分支 //遠端與本地的Repository都可有多個分支(分支是基於某版本發展出的平行時空) //History→選取分支的基礎版本→Branch→Copy working parents→輸入分支名稱→Create Branch * ### Tags,Search //⽤標籤(Tag)來找版本(Search)紀錄(階段驗收或版本標註) *標籤僅⽤來做標記,⽅便我們找到某筆版本紀錄 * ### Remote //⽤來將遠端分⽀Checkout⾄本地端 *Checkout⾄本地端的分⽀,會顯⽰在Branches * ### Stashes //儲存暫時的結果 //按Stashes新增→Apply使用上次暫存結果 * ### Fetch //檢視異動但不Pull * ### Reset //History→欲退回的版本紀錄→Reset //Soft/Mixed/Hard(放棄目前本機未commit的異動) *建議都先將異動commit後再reset * ### Discard //放棄⼯作區的版本異動 *回到原先版本檔案(異動版本會還原成原先) ### 3.Merge分支合到Main //將Branch分支版本與Main融合(A版本merge到Main,Main可視A) //創建一個Branch-自己進行的版本 //選Branch-自己進行的版本→異動後Push到遠端→選Branch-Main→選擇要Merge的進度點(剛才Push的進度點,通常為Main最新進度點)→選Merge回Main(要click"create a new commit")→Push→如檔案衝突先Pull後Push