流程總結
A 克隆項目,增長代碼git
- 在 Github 上 fork 想要參與的項目倉庫 Qingtong/pinghu_project, fork後會生成本身的項目 pinghu_project
git clone 本身的項目
git add XX
,git commit -m ""
進行更新,提交git push origin master
推送到本身的遠程倉庫 marh/pinghu_project- 在 github 上新建
Pull Request
請求- 項目管理員會審覈你提交的代碼,若是合適就會贊成合併,這樣你的代碼就會出如今源項目中。
當咱們睡了一覺起來,**Qingtong/pinghu_project**倉庫可能已經更新,咱們要同步最新代碼
B 獲取最新代碼github
給遠程的上游倉庫Qingtong/pinghu_project配置一個 remote 。安全
git remote -v
查看遠程狀態
git remote add upstream 遠程倉庫qingtong/pinghu連接
微信
- 例如:
git remote add upstream https://xxx.com/Qingtong/pinghu.git
git fetch upstream
將遠程全部的分支fetch下來git merge upstream/master
合併不是master分支的代碼git pull upstream master
能夠代替步驟 7+8。git pull = fetch + merge
此時本身本地的代碼就是最新的了,修改完代碼後,
重複A流程中的步驟 3-5
fetch
公司的項目: Qingtong/pinghu_project
spa
個人項目:marh/pinghu_project
fork後咱們的倉庫中會多出一個一毛同樣的項目,可是所屬人不一樣。
3d
切換到目錄,克隆本身的項目(marh/pinghu_project): git clone https://XXX.com/marh/pinghu_project.git
能夠看到咱們的桌面多了一個項目文件夾
code
爲何咱們要建立分支?blog
假設你準備開發一個新功能,可是須要兩週才能完成,第一週你寫了50%的代碼,若是馬上提交,因爲代碼還沒寫完,不完整的代碼庫會致使別人不能幹活了。若是等代碼所有寫完再一次提交,又存在丟失天天進度的巨大風險。如今有了分支,就不用怕了。你建立了一個屬於你本身的分支,別人看不到,還繼續在原來的分支上正常工做。而你在本身的分支上幹活,想提交就提交,直到開發完畢後,再一次性合併到原來的分支上,這樣,既安全,又不影響別人工做。項目管理
git branch
查看現有分支,咱們看到會有一個master分支
git checkout -b dev
或者 git switch -c dev
建立並切換到分支dev,咱們再次查看分支,看到已經切換到dev分支
咱們添加一個文件 git.txt
git add .
把工做時的全部變化提交到暫存區git commit -m "add git.txt"
將暫存區裏的改動給提交到本地的版本庫
git push origin dev
將修改推送到倉庫項目(marh/pinghu_project)中
能夠看到咱們的倉庫項目中已經有了剛纔提交的分支
合併請求提交完成
合併成功後咱們就能夠看到分支中出現了咱們提交的文件
當咱們睡了一覺起來,Qingtong/pinghu_project 源倉庫可能已經更新了代碼,咱們要保證本地的代碼也是最新的而後再開發
git remote -v
查看遠程狀態git remote add upstream 遠程源倉庫qingtong/pinghu連接
例如:git remote add upstream https://xxx.com/Qingtong/pinghu.git
git pull upstream master
咱們也能夠:git fetch upstream
將遠程全部的分支fetch下來git merge upstream/master
合併不是master分支的代碼git pull = fetch + merge
此時本身本地的代碼就是最新的了,修改完代碼後,重複A流程中的步驟 3-5