[git]fork+pull提交模式


fork+pull提交模式

在公司項目中,大多都是通過“主題分支”的方式,進行開發與合並代碼。但是,這樣又一個弊端就是:合並代碼后需要刪除分支。同時,如果是開源的項目的話,非項目中的成員是無法創建分支的,也就無法貢獻代碼。

這個時候,就體現出fork的優勢所在了。fork就是把源倉庫復制一份到自己的github倉庫下,這樣非項目中的成員也可以任意修改代碼,修改完代碼,只要提交pr就可以了。后面的事情就是,項目的所有者要做的了。

同時,項目的所有者也不需要設定主分支的權限,比如:成員不能自行把開發的主題分支直接合並到dev或者master分支上。只有管理者才有這種權限,否則會不便於管理。fork提交的pr不會產生主題分支,也就是不需要合並完pr后刪除分支。

如何使用fork模式

  1. fork項目

  2. 設置源項目的遠程倉庫:git remote add 起一個名字 源項目地址,用於后面的更新代碼。

  3. 在dev上直接修改代碼

  4. 在push前保證所在分支是最新的:git pull --rebase 剛才起的名字 dev,這里因為是在dev分支上直接修改,所以獲取源項目的dev分支的最新代碼。

  5. 推送到你fork來的倉庫上:git push,push前確定是否關聯的是dev分支:git branch -vv

  6. 最后在源項目中提交pr,請求合並你的改動。

在上述過程中,容易混淆的地方就是’源項目‘和’fork的項目’:你沒有辦法修改’源項目‘,只能修改fork到你自己的github賬號倉庫下的’fork的項目‘。在提交的時候,需要保證‘fork的項目’是最新,這樣在pr前,就可以在你的本地把所有的沖突解決完成,順利的合並到’源項目‘上。

總結

如果你是項目中的成員,有創建分支的權限,那么用fork模式或者主題分支的模式都可行的,同時沒有什么太大的區別。

對於向開源項目貢獻代碼,那就一定要用到fork模式。

參考


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM