Git從fork分支開始的過程整理


文章適用於團隊合作的時候多個人向一個repo貢獻,整理了Git從fork分支開始的過程。

1. Fork    

在github上你要貢獻的repo(eg.http://github/remote/test.git)之后稱上游倉庫。點擊fork,將上游倉庫fork到你的github,之后稱為遠程庫(eg.http://github/chercher/test.git)

 

2. Clone    

選擇本地文件夾,之后稱為本地庫

git clone http://github/chercher/test.git

 

3. 創建dev分支

進入文件夾中,創建dev分支作為你的開發分支,當你完成了這個開發分支的時候直接將這個分支的內容push到你的遠程庫。一般一個分支對應一個issue,開發完畢后即可銷毀

git checkout -b dev 創建並切換至dev分支,是git branch dev + git checkout dev

 

4. 創建upstream分支

upstream分支是用於同步上游倉庫的,可以同步其他人對上游倉庫的更改

git remote add upstream http://github/remote/test.git

這時候用git remote 可以查看遠程分支,git remote -v 可以查看具體路徑

這時候應該有origin、upstream兩種分支且分別有fetch和push的路徑,origin是你的遠程庫,upstream是你的上游倉庫

tips. 如果遠程分支路徑出錯了,git remote set-url branch_name new_url 替換為具體的你的出錯的分支名和新的路徑即可

 

5. 同步上游倉庫

在提交自己的修改之前,先同步上游倉庫到master

git remote update upstream

git rebase upstream/master

 

6. 修改文件push到遠程庫

對本地庫進行修改后,git add changed_file & git commit -m"message" 添加文件到暫存區然后提交,寫入相應信息。

git push origin dev:dev 這時你的遠程庫將會多出一個dev分支

 

7. 提出pull request

這時候在你的遠程庫中點擊create pull request,就可以等待別人review你的代碼后merge入上游倉庫了

 

8. 合並commit

一個issue有時候並不是一次commit就可以完成的,這時候就涉及到潔癖患者們用rebase合並commit的過程了

第一次commit的時候並不需要做rebase的操作,rebase是將之后的多次commit合並到之前的一個commit當中

以第二次修改為例,在commit之后進行  git rebase -i HEAD~2 

tips. 如果出現"Could not execute editor"  則設置 git config即可,git config --global core.editor /usr/bin/vim

之后再執行rebase命令,可以看到這兩次的提交,現在狀態都是pick。只選擇第一個commit為p,其他的都為s,即把新的commit並入之前的。

修改完成后寫入,然后自動跳轉至另一個頁面修改commit的信息

之后繼續按照第6步push --force到遠程庫的流程進行就可以了~

 


免責聲明!

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



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