0


Git中Fork使用

GitLab或者GitHub中的Fork可以理解为一个物理副本,用来管理代码的一种手段。

在参与开源项目代码贡献时,通常不会直接获得源代码仓库的Developer权限。这点和一般公司开发不太一样,公司一般都是设置在分支上是否有Push权限。使用Fork将代码物理复制一份在自己的NameSpaces下进行代码开发,开发时可对分支做任意的更改、删除以及commit或者push,过程中完全像是开发自己的代码一样。

什么是Fork

GitLab或者GitHub中的Fork可以理解为一个物理副本,用来管理代码的一种手段。

在参与开源项目代码贡献时,通常不会直接获得源代码仓库的Developer权限。这点和一般公司开发不太一样,公司一般都是设置在分支上是否有Push权限。使用Fork将代码物理复制一份在自己的NameSpaces下进行代码开发,开发时可对分支做任意的更改、删除以及commit或者push,过程中完全像是开发自己的代码一样。

如何进行Fork

以GitLab为例。首先,使用张三创建一个名为xlog的项目,项目权限为Owner,同时设置李四的权限为Reporter。如下:
image-20221205230013156
然后在张三的账号可以看到如下结构:
image-20221205230955686
使用张三的账号点击进入xlog项目,如下:
image-20221205231400596
点击右上角Fork,如下:
image-20221205231605196
核心点:

  1. 选择一个namespace,一般都是选择自己的GitLab名字
  2. 选择可见级别,默认private
  3. 输入项目名字,一般都是默认

最后点击Fork Project,完成Fork,如下图:
image-20221205231912499

将远程仓库更新到Fork仓库

在GitLab或者GitHub平台上,开发者张三Fork了开发李四的项目以后,如果后续李四继续提交项目,那么张三在Fork的代码中如何获得更新?

1、给Fork库配置远程仓库位置,先查看远程仓库状态:

$ git remote -v
origin  http://lisi:[email protected]/lisi/xlog.git (fetch)
origin  http://lisi:[email protected]/lisi/xlog.git (push)

2、为Fork库添加远程upstream地址:

$ git remote add upstream http://192.168.109.112/zhangsan/xlog.git

3、使用git remote -v检查是否配置成功:

$ git remote -v
origin  http://lisi:[email protected]/lisi/xlog.git (fetch)
origin  http://lisi:[email protected]/lisi/xlog.git (push)
upstream        http://192.168.109.115/zhangsan/xlog.git (fetch)
upstream        http://192.168.109.115/zhangsan/xlog.git (push)

4、抓取远程upstream

$ git fetch upstream

5、查看upstream日志,如下命令和图例:

$ git log --all--graph--oneline

* 71d3aa7 (upstream/main) 测试Fork
* 9ca3f3b (HEAD -> main, origin/main, origin/HEAD) no message

6、将远程upstream上的代码merge到Fork

git merge upstream/main

7、将本地Fork的代码提交

git push origin main

推荐:

Gitlab CE安装

Git命令小本本

参考:

https://blog.csdn.net/weixin_43517190/article/details/125159723

https://blog.csdn.net/u013673437/article/details/127198924

标签: git

本文转载自: https://blog.csdn.net/qusikao/article/details/128297273
版权归原作者 小楼一夜风雨声 所有, 如有侵权,请联系我们删除。

“Git中Fork使用”的评论:

还没有评论