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
移动指针