Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Github上进行回购以创建自己的公司时的最佳实践_Git_Github - Fatal编程技术网

在Github上进行回购以创建自己的公司时的最佳实践

在Github上进行回购以创建自己的公司时的最佳实践,git,github,Git,Github,我想在github上建立一个回购协议。这样做的最佳实践是什么?以下是我所做的: 1) 放弃回购协议。 2) 启动新的回购协议。 3) 将分叉回购的远程源url更改为新回购。 4) 将新回购协议的本地副本推送到github 这给了我一个新回购协议的“起点”,但是,我仍然有原始回购协议的提交历史记录等。保留此类内容的最佳实践/礼仪是什么(与删除提交历史记录相反&从头开始) 无论我做了什么,原作者都会获得全额信用,但似乎提交历史可能会让想要使用我的回购协议的人感到困惑 一旦我开始添加特性/代码,它将是

我想在github上建立一个回购协议。这样做的最佳实践是什么?以下是我所做的:

1) 放弃回购协议。 2) 启动新的回购协议。 3) 将分叉回购的远程源url更改为新回购。 4) 将新回购协议的本地副本推送到github

这给了我一个新回购协议的“起点”,但是,我仍然有原始回购协议的提交历史记录等。保留此类内容的最佳实践/礼仪是什么(与删除提交历史记录相反&从头开始)

无论我做了什么,原作者都会获得全额信用,但似乎提交历史可能会让想要使用我的回购协议的人感到困惑

一旦我开始添加特性/代码,它将是不同的,但提交历史将是相同的。这是意料之中的事吗

是的,但分叉背后的真正想法是,您可以通过以下方式为上游回购(即您在GitHub端分叉的回购)作出贡献

这就是为什么您通常不只是将原始回购的url更改为新的回购,您还注册了一个远程回购“
上游”
”,该远程回购指的是您分叉的原始回购


另一个想法是,即使你没有回馈,也要跟上
上游的任何发展:你可以
git获取上游的
,并合并或重新设置来自上游的任何新提交的基础。

为什么提交历史会让人困惑?我不确定。谈到git/github,我是相当生疏的,但分叉回购看起来与原始回购完全相同(本质上是)。一旦我开始添加特性/代码,它将是不同的,但提交历史将是相同的。这是意料之中的事吗?这类事情的正常工作流程是什么?历史记录显示了谁进行了提交。你不抹去历史(让它看起来你是唯一的贡献者)是礼貌的做法。@Juhana对,这是有道理的。我想我已经决定了我需要做什么。谢谢。你最后的评论可能是人们没有做到的一件事,然后再也没有把他们的提交添加回上游。大多数项目都希望您在查看拉请求之前,在最新的上游提交上重新设置提交的基础。如果维护人员必须在最新更新的
HEAD
上进行可能的去冲突重定,那么这对他们来说是额外的工作。我理解分叉、修复和执行拉请求(在一定程度上)。如果您正在积极为原始repo构建特性或修复bug,这对我来说是有意义的。如果我想为需要使用原始回购协议但不一定适合其正常使用情况的利基受众添加一个超级特定功能,该怎么办?用叉子做错事了吗?@DanB。不,因为我回答的最后一句话:分叉将允许您在
上游
回购协议和您的分叉之间保持强有力的联系。可以说,你也可以不用叉子做同样的事情(从
上游
拉动,以跟上最新的
上游
修改),但最好清楚地说明你的GitHub回购协议来自哪里。fork使其非常可见,即使您不会向
上游
@VonC发出任何拉取请求,我也理解。非常感谢。(我之前误读了最后一句。)