【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 移动指针
相关文章
相关标签/搜索