【github教程】多人協(xié)作開源項(xiàng)目fork

一、使用背景

1.分布式

git和svn一樣都是管理代碼版本的工具,但是git更輕量級(jí)一些。首先git是分布式的,大家一定聽過區(qū)塊鏈,對(duì)就是那種分布式,沒有中心代碼管理的機(jī)器,大家都一樣。去中心化后,更加安全,流程。

2.管理改變

然后git每個(gè)commit節(jié)點(diǎn)是相對(duì)上一個(gè)的commit的改變,對(duì)!git監(jiān)控的代碼的改變,而不是復(fù)制每個(gè)代碼副本。所以!git切換分支的時(shí)候,也是相當(dāng)?shù)牧鞒獭?/p>

二、不同倉庫的操作 fork

站在高空看git:一般有人在github上開源了一個(gè)項(xiàng)目,然后你想去參與這個(gè)項(xiàng)目

  1. fork它;

相當(dāng)于把別人的項(xiàng)目新開了一個(gè)remote,這兩個(gè)remote可以通過pull request 把自己的代碼更新到別人的項(xiàng)目

如果想同步別人的代碼到本地,就為本地的分支設(shè)置一個(gè)上游,需要設(shè)置那個(gè)remote,remote的那個(gè)分支,意思是最后落腳是分支;

  1. 你自己的github的repository就會(huì)有這個(gè)項(xiàng)目了;
  2. 然后你就可以愉快的搬磚了
  3. 然后你搬完了,你可以把你的任何分支,提一個(gè)pull request給你fork的 remote的任何分支,其實(shí)你可以給任何remote提pull request,這要這個(gè)remote也是fork的同一個(gè)項(xiàng)目;
  4. 他們就可以合并你的代碼拉
  5. 你還可以給你的某個(gè)分支設(shè)置上游,來pull,更新代碼,push推送代碼(這里我感覺不科學(xué),直接給別人的項(xiàng)目推代碼,不要經(jīng)過同意?還是pull request優(yōu)雅一點(diǎn)吧);


image

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

2.上游設(shè)為webpack-china/cn;

3.然后push;

通過這三個(gè)個(gè)操作,就將 QC_L/cn同步到為webpack-china/cn啦

1.意思就是本地倉庫可以設(shè)置多個(gè)remote倉庫;然后設(shè)置某個(gè)分支的上游分支后,通過push和pull實(shí)現(xiàn)同步;

2.設(shè)置上游是分支與分支之間的一個(gè)管理,是分支之間的操作,默認(rèn)本地的QC_L/cn是的上游是 origin/QC_L/cn ,我們可以把它的上游設(shè)置成任何remote上面的分支,然后通過push和pull就可以實(shí)現(xiàn)同步更新!

在多人協(xié)作的情況下的項(xiàng)目,很實(shí)用。

一個(gè)分支上面的操作

  1. rebase 合并多個(gè)節(jié)點(diǎn);

兩個(gè)分支上面的操作

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

版本回退

  1. revert 添加新的commit
  2. reset 移動(dòng)指針
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容