被fork的項目一般會稱作upstream
,如下圖右邊的倉庫。
為了讓fork的倉庫去同步upstream的倉庫
git remote -v :查看到我們名下的遠端項目
而我們要利用git remote add upstream (upstream url) 添加upstream的remote
。
添加完後,再查看一次,發現我們多了upstream的remote,而後我們利用git fetch upstream獲取upstream的最新版本。
再利用git merge upstream/master 將upstream merge到我們當前分支
。
最後在透過git push origin master將合併後的資料push到遠端,最後比對即可發現我們的fork已經同步upstream。
再來我們介紹一下issue,為項目的bug管理
與pull request的一些操作。
作為其upstream的擁有者或貢獻者,點選issue後,可進行編輯,如設置其標題,或程式碼區塊等。
具有項目管理權限的人才可做的操作如:
assigness:可以將issue指派給指定的人
。labels:有bug,help wanted,invalid 等等可以標註上去,可以方便對issue進行管理
。milestone:使用里程碑來追蹤倉庫中issue或pull request的進度
。
另外我們也可在comment area去@某人,而此人就會成為這個issue的participant並在issue有更動時,會收到通知。
而在我們fork的項目中,創建commit,並new pull request,並去引用 #1 (每個issue都有一個編號),且create後,我們可在upstream中的pull request即Issue看到其記錄,而我們可在pull request去merge,
表示修復了這個bug,並在Issue的地方close issue即可。
當我們專案非常大,issue可能會非常多,此時就可以利用projects去對我們的issue做管理及分類。
點選projects後,可編輯其標題內容等,而project template 可以選擇project的模板,而此處我們選擇Basic kanban。
創建projects完成後,如下圖:
從分類board左上角可看到project完成進度,綠色為已完成,點擊右邊Menu可close project 代表已經完成了。
wiki:可以對我們的專案進行說明,而不顯示的話也可到setting去關閉。
而有時候某些專案可能需要多人去一同管理,去管理pull request或從master直接push 程式碼上去。
可以利用new organization,創建一個組織並可加入成員加入項目,在其組織內還可在創建team等等。
在小項目中,我們可以透過setting下的Manage access去邀請其他人並給予權限,來一起管理。
Gist 可以只分享專案中的某一個小檔案中的程式碼,點擊new gist可以創建程式碼片段,也可以用 Markdown 語法來制定文字格式,甚至gist 也有版本控制。
透過all gists,可看到其他人發布的程式碼片段等等。
關於gist更多介紹可觀看六角學院所發布的文章
Github Gist(上) https://ithelp.ithome.com.tw/articles/10206233
原來 Github Gist 還可以... (下)https://ithelp.ithome.com.tw/articles/10206233