0


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

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

  1. 在 Github 上 fork 想要参与的项目仓库 Qingtong/pinghu_project, fork后会生成自己的项目 marh/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 获取最新代码

  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 可以代替流程B的步骤 2+3。 git pull = fetch + merge

此时自己本地的代码就是最新的了,修改完代码后,

重复A流程中的步骤 3-5

fork 流程图

A克隆项目,增加代码

一、找到自己喜欢的项目并fork

公司的项目: Qingtong/pinghu_project

我的项目:marh/pinghu_project
fork后我们的仓库中会多出一个一毛一样的项目,但是所属人不同。

二、克隆自己的代码到本地

切换到目录,克隆自己的项目(marh/pinghu_project):

git clone https://XXX.com/marh/pinghu_project.git

可以看到我们的桌面多了一个项目文件夹

三、接下来我们就可以在项目中增加自己的代码了

1、创建自己的分支

为什么我们要创建分支?

假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了。如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险。

现在有了分支,就不用怕了。你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作。而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作。

git branch

查看现有分支,我们看到会有一个master分支

git checkout -b dev

或者

git switch -c dev

创建并切换到分支dev,我们再次查看分支,看到已经切换到dev分支

2、修改代码并提交

我们添加一个文件 git.txt

git add .

把工作时的所有变化提交到暂存区

git commit -m "add git.txt"

将暂存区里的改动给提交到本地的版本库

四、推送到我们的远程仓库

git push origin dev

将修改推送到仓库项目(marh/pinghu_project)中

可以看到我们的仓库项目中已经有了刚才提交的分支

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

合并请求提交完成

六、管理员视角:同意/拒绝合并其他开发人员提交分支(一般开发人员没有权限)

合并成功后我们就可以看到分支中出现了我们提交的文件

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

七、与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

2. 拉去远程原仓库的代码
git pull upstream master

我们也可以:

git fetch upstream

将远程所有的分支fetch下来

git merge upstream/master

合并非master分支的代码

git pull = fetch + merge

此时自己本地的代码就是最新的了,修改完代码后,

重复A流程中的步骤 3-5

作者:铁头马

原文地址:https://segmentfault.com/a/1190000021711920

喜欢  0   
标签: git

本文转载自: https://blog.csdn.net/weixin_35062801/article/details/136070650
版权归原作者 孤独患喆 所有, 如有侵权,请联系我们删除。

“Git fork 指南:fork别人的仓库并作为贡献者提交代码”的评论:

还没有评论