10
|
program247365 · 技术社区 · 15 年前 |
1
14
简而言之:
一种解决方案是使用
移植物
要连接历史记录,请使用
请注意,在原始存储库的新开发之上重放更改(提交)的解决方案 重碱 解决方案)是另一个可行的解决方案。 较长版本:让我们假设您记得,或者您可以通过检查源代码和/或使用git命令找到您下载快照的存储库版本,并开始本地开发。让我们称之为修订开始或。 假设本地断开连接的历史记录位于原始存储库的克隆中。这意味着本地断开连接的开发与项目的完整历史处于同一个存储库中。假设您的本地分支位于分支“master”中(为了简单起见,只有一个分支)。 如果您没有使用本地断开连接的工作将项目提取到存储库中,则可以使用以下方法执行此操作:
历史记录如下: *---*---*---*---*---A---*---*---*---* <--- origin/master (remote-tracking branch) x---y---*---*---* <--- master (your local disconnected history) 上图中名为a的提交是作为快照下载并启动本地开发的开始提交。 有两种可能:您已经将“a”的快照作为初始提交“x”提交,或者您进行的第一次提交是通过本地修改进行的。 在第一种情况下(您提交了原始启动状态,例如“初始提交”或“导入”),您希望连接的历史记录如下所示: *---*---*---*---*---A---*---*---*---* <--- origin/master (remote-tracking branch) \ \-y---*---*---* <--- master (your local disconnected history) 也就是说,你第一次承诺“Y”将“A”作为父母。 在第二种情况下(您提交了更改),您希望连接的历史记录如下所示: *---*---*---*---*---A---*---*---*---* <--- origin/master (remote-tracking branch) \ \-x---y---*---*---* <--- master (your local disconnected history) 也就是说,您希望首先提交“x”将“a”作为父级。 在这两种情况下,您都希望找到提交“a”的完整sha-1标识符,以及提交“x”和“y”的完整sha-1标识符。 您可以找到提交“a”的sha-1(假设您还不知道)。 git rev-parse :
(可能需要“^提交”后缀以确保找到 犯罪 sha-1,如果您(例如)通过其标记知道“a”,例如“v0.99”,这一点很重要;在您的情况下,这是不必要的,因为相关存储库不使用标记)。 您可以使用查找提交“x”和“y”的sha-1 git rev-list (假设您的开发是在分支“master”上完成的):
(“
注: 在上述所有示例中,完整的sha-1是 实例 ,不应按原样使用! 让我们首先将您希望“a”(或“start”)作为父级的提交命名为(它将是“x”或“y”,具体取决于您的情况,如上所述)。现在我们使用 嫁接机理 要连接历史记录:
然后,您应该使用图形历史浏览器(如Gitk、QGit或Gitx)检查是否正确连接(连接)了历史记录,您是否在MacOS X上,甚至是“
(这里的Gitk只是一个例子;如果您使用
最后,我们可能希望这些更改是永久性的,所以任何从我们的存储库中获取这些更改的人都将拥有相关的历史记录。我们可以用 git filter-branch :
您将在“refs/original/master”中具有原始(断开连接)历史记录。 现在可以删除移植文件:
现在,您可以合并到原始存储库的新开发中:
设置每个分支的配置,这样在分支“master”上执行“git pull”就足够了,可以将源(al)存储库中的更改作为练习留给读者……-) 注: 这个 重新碱溶液 将导致以下历史记录(假设我们有第一个Comit是简单导入的情况): *---*---*---*---*---A---*---*---*---* <--- origin/master (remote-tracking branch) \ \-y'---*'---*'---*' <--- master (your local disconnected history)
(何处)
|
2
5
当我尝试
在我的特定案例中,似乎
|
3
4
这里有一个关于你能做什么的想法。这与你在问题底部总结的想法有点相反。
所以基本上,在Github上分叉之后,您可以使用以下命令序列:
总之,此方法将合并您在旧repo中所做的所有更改(从而保留您的开发历史),同时还将引入Mojombo的历史, 和 允许您跟上莫乔博的变化/如果适用,轻松地将变化贡献回他的回购协议。 |
charleslcso · 从开源克隆并推送到我的GitHub[重复] 1 年前 |
Itachi · 无法为python项目安装“DAWG”包 1 年前 |
Igor · git重置已删除目录上的头 2 年前 |
Robo · 撤消删除Git中被忽略的文件 2 年前 |
Ali EXE · 如何根据bat中命令的输出设置变量? 2 年前 |
ShortArrow · 如何使用git管理链接源文件? 2 年前 |
Siggi · 使用git移动文件时丢失历史记录 2 年前 |