Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.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
Git 如果已手动复制,则将存储库标记为fork_Git_Git Fork - Fatal编程技术网

Git 如果已手动复制,则将存储库标记为fork

Git 如果已手动复制,则将存储库标记为fork,git,git-fork,Git,Git Fork,我是Git新手,做了一件蠢事:我有一个项目a,然后手动为新项目B复制了它(没有Git文件夹),创建了一个新的存储库,并同时在这两个项目中工作 现在有没有办法将项目B设置为a的分支 ps:我需要它来在项目之间交换提交,而补丁似乎不是一个解决方案 UPD 11.07:正如我所说,主要目的是将一些提交从B“移动”到A,反之亦然 UPD 13.07:将解决方案移动到答案中如果您只关心进行更改,而不关心具体的提交历史 只需从B中删除.git目录,并将.git目录从A复制到B,就差不多完成了 Git现在将把

我是Git新手,做了一件蠢事:我有一个项目a,然后手动为新项目B复制了它(没有Git文件夹),创建了一个新的存储库,并同时在这两个项目中工作

现在有没有办法将项目B设置为a的分支

ps:我需要它来在项目之间交换提交,而补丁似乎不是一个解决方案

UPD 11.07:正如我所说,主要目的是将一些提交从B“移动”到A,反之亦然


UPD 13.07:将解决方案移动到答案中

如果您只关心进行更改,而不关心具体的提交历史

只需从B中删除.git目录,并将.git目录从A复制到B,就差不多完成了

Git现在将把您在B中所做的所有更改标识为未老化的更改。转移并提交它们,如果您想在它们之间共享代码,请将A设置为B的远程:

$ cd b-dir
$ git remote add origin path/to/a-dir
我试过这个:

  • 列表项
  • A_localB_local推送到BitBucket上的A_remoteB_remote_tmp存储库
  • 将一个A\u remote作为B\u remote\u new分叉,并在计算机上克隆为B\u local\u new
  • 将本地存储库上的B_remote\u tmp设置为B_local的远程
  • 作为本地分支B_remote\u tmp签出,并将其合并到B_local
  • B_local推送到B_remote\u new并删除B_remote\u tmp
  • 这保存了一条提交消息,现在我将B作为a的分支。然后我将更改从B复制到A:

  • 在本地克隆存储库A_local上,我将B_remote_new设置为远程,并将其作为本地分支签出
  • Cherry使用一个可用性分支从B中选择所有nessessary提交,并将其推送
  • 这不是最简单的方法,但对我来说很容易理解,而且,正如我所看到的,它很有效现在我有两个寄宿地,一个是另一个的叉子,有着所有的历史。使用分支和BitBucked接口,我可以将新的更改从一个应用到另一个(两个存储都显示在pull requests窗口中)


    ps:我没有找到一种方法将一个本地仓库设置为另一个本地仓库的远程位置,我已经使用了一个BitBucked,这就是我选择它的原因。我认为同样的事情也可以在github中完成。

    应该很简单;垃圾桶B,将A克隆到B。Jack,B中的提交如何?这取决于两个代码库的分歧程度,但您可以在两个项目上运行差异,并对第一个项目应用选择性更改。抱歉,我没有正确理解:使用差异,我会对A应用一些更改(不是吗?),但对于只应该在B中的提交如何?fork,您是指“克隆”吗?或者像GitHub fork那样使用fork?但是如果我从B中删除.git文件夹,我将丢失从B中提交的所有内容。你介意吗?您可以进行一次提交,以捕获存储库的当前状态,不会丢失任何更改。也许他是说提交消息将消失?无论如何,这个解决方案看起来比我的好,所以+1:)这是一个简单的方法,但正如我所提到的-我想保存消息,并将选定的提交进一步复制到另一个存储库。