Git fork 指南:fork别人的仓库并做为贡献者提交代码

流程总结
A 克隆项目,增长代码git

  1. 在 Github 上 fork 想要参与的项目仓库 Qingtong/pinghu_project, fork后会生成本身的项目 pinghu_project
  2. git clone 本身的项目
  3. git add XXgit commit -m "" 进行更新,提交
  4. git push origin master 推送到本身的远程仓库 marh/pinghu_project
  5. 在 github 上新建 Pull Request 请求
  6. 项目管理员会审核你提交的代码,若是合适就会赞成合并,这样你的代码就会出如今源项目中。
当咱们睡了一觉起来,**Qingtong/pinghu_project**仓库可能已经更新,咱们要同步最新代码

B 获取最新代码github

  1. 给远程的上游仓库Qingtong/pinghu_project配置一个 remote 。安全

    • git remote -v 查看远程状态
    • git remote add upstream 远程仓库qingtong/pinghu连接微信

      • 例如:git remote add upstream https://xxx.com/Qingtong/pinghu.git
  2. git fetch upstream 将远程全部的分支fetch下来
  3. git merge upstream/master 合并不是master分支的代码
  4. git pull upstream master 能够代替步骤 7+8。 git pull = fetch + merge

此时本身本地的代码就是最新的了,修改完代码后,重复A流程中的步骤 3-5fetch

fork 流程图

734.png

7341583-9a3e2d043e00d83a.png

A克隆项目,增长代码

1、找到本身喜欢的项目并fork

公司的项目: Qingtong/pinghu_project
微信截图_20200209133033.pngspa

个人项目:marh/pinghu_project
fork后咱们的仓库中会多出一个一毛同样的项目,可是所属人不一样。
微信截图_20200209133516.png3d

2、克隆本身的代码到本地

切换到目录,克隆本身的项目(marh/pinghu_project): git clone https://XXX.com/marh/pinghu_project.git
能够看到咱们的桌面多了一个项目文件夹
微信截图_20200209142546.pngcode

3、接下来咱们就能够在项目中增长本身的代码了

一、建立本身的分支

为何咱们要建立分支?blog

假设你准备开发一个新功能,可是须要两周才能完成,第一周你写了50%的代码,若是马上提交,因为代码还没写完,不完整的代码库会致使别人不能干活了。若是等代码所有写完再一次提交,又存在丢失天天进度的巨大风险。

如今有了分支,就不用怕了。你建立了一个属于你本身的分支,别人看不到,还继续在原来的分支上正常工做。而你在本身的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工做。项目管理

git branch 查看现有分支,咱们看到会有一个master分支
微信截图_20200209144105.png

git checkout -b dev 或者 git switch -c dev 建立并切换到分支dev,咱们再次查看分支,看到已经切换到dev分支
微信截图_20200209144415.png

二、修改代码并提交

咱们添加一个文件 git.txt
微信截图_20200209142929.png

git add . 把工做时的全部变化提交到暂存区
git commit -m "add git.txt" 将暂存区里的改动给提交到本地的版本库
微信截图_20200209144818.png

4、推送到咱们的远程仓库

git push origin dev 将修改推送到仓库项目(marh/pinghu_project)中
微信截图_20200209144910.png

能够看到咱们的仓库项目中已经有了刚才提交的分支
微信截图_20200209145010.png

5、发送合并请求 (Pull Request)

微信截图_20200209145400.png

微信截图_20200209150706.png

微信截图_20200209151745.png

合并请求提交完成

6、管理员视角:赞成/拒绝合并其余开发人员提交分支(通常开发人员没有权限)

微信截图_20200209152321.png

微信截图_20200209181053.png

合并成功后咱们就能够看到分支中出现了咱们提交的文件
微信截图_20200209181310.png

B 获取源仓库(Qingtong/pinghu_project)的最新代码

7、与fork的项目保持同步

当咱们睡了一觉起来,Qingtong/pinghu_project 源仓库可能已经更新了代码,咱们要保证本地的代码也是最新的而后再开发

1. 给远程的上游仓库Qingtong/pinghu_project配置一个 remote 。

git remote -v 查看远程状态
git remote add upstream 远程源仓库qingtong/pinghu连接
例如:git remote add upstream https://xxx.com/Qingtong/pinghu.git
微信截图_20200209183329.png

2. 拉去远程原仓库的代码

git pull upstream master

咱们也能够:
git fetch upstream 将远程全部的分支fetch下来
git merge upstream/master 合并不是master分支的代码
git pull = fetch + merge

此时本身本地的代码就是最新的了,修改完代码后,重复A流程中的步骤 3-5

相关文章
相关标签/搜索