我应该伪分叉我自己的 GitHub 存储库还是使用分支? 优点中性缺点

如何解决我应该伪分叉我自己的 GitHub 存储库还是使用分支? 优点中性缺点

我编写了一些脚本来计算大量数据并返回一些统计值,这些值用于我几个月前到期的作业。

现在我想与几个人合作扩展这个项目。我的理解是我应该创建该项目的一个分支。我不认为为此创建一个额外的组织是合适的,因为该团队是临时的,至少目前只在这个单一项目上工作。

How do you fork your own repository on GitHub?Can/should I fork my own github repo? 中所述,您不能在 GitHub 上创建自己的存储库的分支。我尝试使用建议的克隆和推送到新存储库的解决方法,该方法效果很好。我真的不担心我不能跨项目公关,但这种方法对我来说的问题是所有提交都被双重计算为我的个人资料中的活动。

我就此联系了 GitHub 支持,并询问他们是否可以将项目附加为分支(在某些情况下似乎允许您自己的 repo 的私有分支,cp。Collaborating in a temporary private fork to resolve a security vulnerability)或删除提交在我的贡献活动中的其中一个存储库中。他们显然不能这样做。他们的建议是使用自定义电子邮件地址,例如no-contribution@mydomain.com 未链接到我的 GitHub 帐户。虽然这会起作用,但我必须重写历史记录才能这样做,而且两个存储库中的提交 SHA 之后将不匹配,我真的不喜欢。

我的其他解决方案要么是完全废弃新项目中的历史记录并将所有以前的提交压缩到一个引用旧存储库的提交中,要么在分支上工作而不是在分支上工作,就像这里提到的:{{3} }.

新存储库的魅力在于两个项目都有相应的名称,通过压缩提交并添加对基础项目的引用,我会明确表示该项目不是全新的/从头开始,我不会有被不同 SHA 混淆的麻烦,因为在我的回购中使用不同的电子邮件地址基本上是相同的提交。另一方面,我大幅减少了这个 repo 的提交次数,这也感觉不太对。

如果我走分支路线,我应该在当前状态下创建一个 <old project name>-branch 并继续处理 master 还是我应该保留 master 原样并创建一个 <new project name>-master 分支?另外我将如何处理存储库的名称?保持原样还是给它一个新名称?请记住:我希望以一种以后可以轻松访问的方式保存第一个项目的状态。这更像是标签的工作还是不活动的分支?

请注意,我并不是在征求意见。更确切地说,将这个问题解释为:与分支解决方案相比,我所说的“伪叉”有哪些优点和缺点(除了上面提到的那些)

在“伪分叉”路线的情况下:no-contribution 邮件与压缩提交的优缺点是什么?

在分支路线的情况下:我应该如何命名分支,我可能错过的方法的相关优缺点是什么?重命名 repo 与保留旧名称有什么好处(链接不是问题,因为两个 repo 仍然是私有的)?在重命名的情况下,引用存储库主页上的 README.md 中的“旧”分支或标记是个好主意,还是会导致问题?

解决方法

TL;DR

我决定使用两个存储库,其中一个是另一个的伪分支(即克隆、更改远程、推送)并更改了那些旧提交的作者和提交者。

支持和反对这条路线的论据

优点

  • 接收新存储库中的提交计数。
  • 我的个人资料不会重复计算贡献。
  • 提交仍与我的个人资料相关联,因为 github 将我列为提交者。
  • 两个存储库都有指定的位置。

中性

  • 尽管使用了新的 SHA,但仍保留了历史记录。
    • git blame 仍然有效。
    • 两个存储库中的提交之间没有直接联系(即您不能从一个存储库中获取 SHA 并在另一个存储库中选择相同的提交),这可能会导致混淆。
    • 可能看起来像是一个全新的项目,其实不然。

缺点

  • 我无法使用拉取请求

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams[&#39;font.sans-serif&#39;] = [&#39;SimHei&#39;] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -&gt; systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping(&quot;/hires&quot;) public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate&lt;String
使用vite构建项目报错 C:\Users\ychen\work&gt;npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-
参考1 参考2 解决方案 # 点击安装源 协议选择 http:// 路径填写 mirrors.aliyun.com/centos/8.3.2011/BaseOS/x86_64/os URL类型 软件库URL 其他路径 # 版本 7 mirrors.aliyun.com/centos/7/os/x86
报错1 [root@slave1 data_mocker]# kafka-console-consumer.sh --bootstrap-server slave1:9092 --topic topic_db [2023-12-19 18:31:12,770] WARN [Consumer clie
错误1 # 重写数据 hive (edu)&gt; insert overwrite table dwd_trade_cart_add_inc &gt; select data.id, &gt; data.user_id, &gt; data.course_id, &gt; date_format(
错误1 hive (edu)&gt; insert into huanhuan values(1,&#39;haoge&#39;); Query ID = root_20240110071417_fe1517ad-3607-41f4-bdcf-d00b98ac443e Total jobs = 1
报错1:执行到如下就不执行了,没有显示Successfully registered new MBean. [root@slave1 bin]# /usr/local/software/flume-1.9.0/bin/flume-ng agent -n a1 -c /usr/local/softwa
虚拟及没有启动任何服务器查看jps会显示jps,如果没有显示任何东西 [root@slave2 ~]# jps 9647 Jps 解决方案 # 进入/tmp查看 [root@slave1 dfs]# cd /tmp [root@slave1 tmp]# ll 总用量 48 drwxr-xr-x. 2
报错1 hive&gt; show databases; OK Failed with exception java.io.IOException:java.lang.RuntimeException: Error in configuring object Time taken: 0.474 se
报错1 [root@localhost ~]# vim -bash: vim: 未找到命令 安装vim yum -y install vim* # 查看是否安装成功 [root@hadoop01 hadoop]# rpm -qa |grep vim vim-X11-7.4.629-8.el7_9.x
修改hadoop配置 vi /usr/local/software/hadoop-2.9.2/etc/hadoop/yarn-site.xml # 添加如下 &lt;configuration&gt; &lt;property&gt; &lt;name&gt;yarn.nodemanager.res