iT邦幫忙

1

Git fork & upstream & projects

  • 分享至 

  • xImage
  •  

fork的項目一般會稱作upstream,如下圖右邊的倉庫。

https://ithelp.ithome.com.tw/upload/images/20200608/20126182M95UErGJ13.png

當upstream的倉庫做了更動,我們fork的項目就會落後upstream,要如何去與upstream同步呢?

為了讓fork的倉庫去同步upstream的倉庫

git remote -v :查看到我們名下的遠端項目
而我們要利用git remote add upstream (upstream url) 添加upstream的remote
添加完後,再查看一次,發現我們多了upstream的remote,而後我們利用git fetch upstream獲取upstream的最新版本。

https://ithelp.ithome.com.tw/upload/images/20200608/20126182EKGoAMnzgi.png

再利用git merge upstream/master 將upstream merge到我們當前分支
最後在透過git push origin master將合併後的資料push到遠端,最後比對即可發現我們的fork已經同步upstream。

https://ithelp.ithome.com.tw/upload/images/20200608/20126182B90GT1vALB.png

issue與pull request的操作:

再來我們介紹一下issue,為項目的bug管理與pull request的一些操作。
作為其upstream的擁有者或貢獻者,點選issue後,可進行編輯,如設置其標題,或程式碼區塊等。

https://ithelp.ithome.com.tw/upload/images/20200609/20126182tQIAmwdh8j.png

具有項目管理權限的人才可做的操作如:

assigness:可以將issue指派給指定的人
labels:有bug,help wanted,invalid 等等可以標註上去,可以方便對issue進行管理
milestone:使用里程碑來追蹤倉庫中issue或pull request的進度
另外我們也可在comment area去@某人,而此人就會成為這個issue的participant並在issue有更動時,會收到通知。

https://ithelp.ithome.com.tw/upload/images/20200609/20126182bCFq8Ql26A.png

而在我們fork的項目中,創建commit,並new pull request,並去引用 #1 (每個issue都有一個編號),且create後,我們可在upstream中的pull request即Issue看到其記錄,而我們可在pull request去merge,

https://ithelp.ithome.com.tw/upload/images/20200609/20126182nB4J4q8jj6.png

https://ithelp.ithome.com.tw/upload/images/20200609/20126182fLOP1FBvLZ.png

表示修復了這個bug,並在Issue的地方close issue即可。

https://ithelp.ithome.com.tw/upload/images/20200609/20126182ssZgGdyAQC.png

projects介紹及操作:

當我們專案非常大,issue可能會非常多,此時就可以利用projects去對我們的issue做管理及分類。
點選projects後,可編輯其標題內容等,而project template 可以選擇project的模板,而此處我們選擇Basic kanban。

創建projects完成後,如下圖:

https://ithelp.ithome.com.tw/upload/images/20200609/20126182Ctjg5sjrAx.png

從分類board左上角可看到project完成進度,綠色為已完成,點擊右邊Menu可close project 代表已經完成了。

wiki:可以對我們的專案進行說明,而不顯示的話也可到setting去關閉。

https://ithelp.ithome.com.tw/upload/images/20200609/20126182nHCBC5pove.png

而有時候某些專案可能需要多人去一同管理,去管理pull request或從master直接push 程式碼上去。

可以利用new organization,創建一個組織並可加入成員加入項目,在其組織內還可在創建team等等。

https://ithelp.ithome.com.tw/upload/images/20200609/20126182p4DhDlGgjo.png

https://ithelp.ithome.com.tw/upload/images/20200609/201261820vfuTm8Sv5.png

在小項目中,我們可以透過setting下的Manage access去邀請其他人並給予權限,來一起管理。

Gist介紹:

Gist 可以只分享專案中的某一個小檔案中的程式碼,點擊new gist可以創建程式碼片段,也可以用 Markdown 語法來制定文字格式,甚至gist 也有版本控制。

透過all gists,可看到其他人發布的程式碼片段等等。

https://ithelp.ithome.com.tw/upload/images/20200609/20126182bauemNSsYh.png

關於gist更多介紹可觀看六角學院所發布的文章

Github Gist(上) https://ithelp.ithome.com.tw/articles/10206233
原來 Github Gist 還可以... (下)https://ithelp.ithome.com.tw/articles/10206233


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言