git和svn同樣都是管理代碼版本的工具,可是git更輕量級一些。首先git是分佈式的,你們必定聽過區塊鏈,對就是那種分佈式,沒有中心代碼管理的機器,你們都同樣。去中心化後,更加安全,流程。webpack
而後git每一個commit節點是相對上一個的commit的改變,對!git監控的代碼的改變,而不是複製每一個代碼副本。因此!git切換分支的時候,也是至關的流程。git
站在高空看git:通常有人在github上開源了一個項目,而後你想去參與這個項目github
至關於把別人的項目新開了一個remote,這兩個remote能夠經過pull request 把本身的代碼更新到別人的項目web
若是想同步別人的代碼到本地,就爲本地的分支設置一個上游,須要設置那個remote,remote的那個分支,意思是最後落腳是分支;安全
 分佈式
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就能夠實現同步更新!
在多人協做的狀況下的項目,很實用。
rebase
合併多個節點;git merge b
合併b分支;cherry-pick
,選擇commit;revert
添加新的commitreset
移動指針