【git教程】多人協做開源項目fork

1、使用背景

1.分佈式

git和svn同樣都是管理代碼版本的工具,可是git更輕量級一些。首先git是分佈式的,你們必定聽過區塊鏈,對就是那種分佈式,沒有中心代碼管理的機器,你們都同樣。去中心化後,更加安全,流程。webpack

2.管理改變

而後git每一個commit節點是相對上一個的commit的改變,對!git監控的代碼的改變,而不是複製每一個代碼副本。因此!git切換分支的時候,也是至關的流程。git

2、不一樣倉庫的操做 fork

站在高空看git:通常有人在github上開源了一個項目,而後你想去參與這個項目github

  1. fork它;

至關於把別人的項目新開了一個remote,這兩個remote能夠經過pull request 把本身的代碼更新到別人的項目web

若是想同步別人的代碼到本地,就爲本地的分支設置一個上游,須要設置那個remote,remote的那個分支,意思是最後落腳是分支;安全

  1. 你本身的github的repository就會有這個項目了;
  2. 而後你就能夠愉快的搬磚了
  3. 而後你搬完了,你能夠把你的任何分支,提一個pull request給你fork的 remote的任何分支,其實你能夠給任何remote提pull request,這要這個remote也是fork的同一個項目;
  4. 他們就能夠合併你的代碼拉
  5. 你還能夠給你的某個分支設置上游,來pull,更新代碼,push推送代碼(這裏我感受不科學,直接給別人的項目推代碼,不要通過贊成?仍是pull request優雅一點吧);

分佈式

1.先檢出 QC_L/cn到本地;svn

2.上游設爲webpack-china/cn;工具

3.而後push;區塊鏈

經過這三個個操做,就將 QC_L/cn同步到爲webpack-china/cn啦3d

1.意思就是本地倉庫能夠設置多個remote倉庫;而後設置某個分支的上游分支後,經過push和pull實現同步;

2.設置上游是分支與分支之間的一個管理,是分支之間的操做,默認本地的QC_L/cn是的上游是 origin/QC_L/cn ,咱們能夠把它的上游設置成任何remote上面的分支,而後經過push和pull就能夠實現同步更新!

在多人協做的狀況下的項目,很實用。

一個分支上面的操做

  1. rebase 合併多個節點;

兩個分支上面的操做

  1. git merge b合併b分支;
  2. cherry-pick ,選擇commit;

版本回退

  1. revert 添加新的commit
  2. reset 移動指針
相關文章
相關標籤/搜索