1
veiz 2014-10-17 14:07:23 +08:00 1
目测有两个解决办法:
1,删除原始项目的那个fork,重新fork项目B 2,基于原始项目的fork,开始拉项目B的更新,直到你自己那个版本库跟项目B的版本库一致。(merge的工作量可大可小,你要是fork的linux kernel....) |
2
clino 2014-10-17 14:13:39 +08:00 1
为什么要folk两个?1个完全够了
有新的需求创建新的分支来做不就行了 |
3
lalalakakaka OP @veiz 刚才没说明白,两个项目我都要保留。
那么我能不能开一个分支,分支1对应一个项目(原始),分支2对应另一个(项目B)? |
4
lalalakakaka OP @clino 现在有点纠结~
因为我自己的做的是小改动,那两个项目分别对应windows版本和linux版本,绝对是大改~ 如果是从我自己的项目分支出来的话:1.肯定合并出来的版本不能用;2.会让人家误以为我做的工作很多。 所以最理想的情况是,我fork这两个项目,然后将我的改动merge进去,这样逻辑上说得通,而且merge成功率会高一些。 |
5
AstroProfundis 2014-10-17 14:30:59 +08:00 1
用多个分支,然后设置多个 remote, 每个分支可以绑定到不同的 remote/branch
|
6
relaxyy 2014-10-17 15:18:02 +08:00 1
新建一个repo,然后在项目上设置个新的remote,push --force应该可以。
注意:没有测试过 |
7
Akagi201 2014-10-17 18:36:07 +08:00
建立一个org账号, 然后就可以fork到那里了.
|
8
lalalakakaka OP @relaxyy 这个办法可行。
最后,我似乎找到办法。我应该先添加一个远程仓库,即将项目B添加进我的新建分支,然后rebase一下,这样就可以得到项目B的代码了,而且从历史纪录也能清晰的看到我的新建分支来自项目B,而不是我的老分支。 |
9
rrrrutdk 2014-10-20 10:20:42 +08:00
设置两个remote:
git remote add fork-a A_REPO_URL git remote add fork-b B_REPO_URL 这样的话,你的本地就有三个remote origin(如果默认的话) fork-a fork-b 想切哪切哪: git checkout fork-a/master master-a git checkout fork-b/master master-b 想提交到哪就到哪: git push fork-a master-a:master git push origin master |