我在github上有一个repo,它包含一个部署到两个不同域的Web应用程序.应用程序在这里和那里有轻微的逻辑分支,根据它部署到哪个域而表现不同.
它已经到了我想要将它分成两个单独的存储库的位置,每个域一个.
Github不会让我把它分成同一个组织.搜索"git duplicate repo"表示我应该克隆并镜像推送它,但这似乎是为了保持两个repos同步,我不想这样做.
最好的方法是什么?如果可能的话,我想在新副本中保留旧的提交历史记录.
我之前已经分叉了jockm/vert.x并向他发送了拉取请求.现在我想分叉vert-x/vert.x(jockm/vert.x的上游)并向它们发送不同的pull请求.但是,当我单击Fork按钮时,毫无疑问我最终会进入jockm/vert.x的tjcrowder/vert.x分支.是否可以同时分叉vert-x/vert.x和jockm/vert.x,以便我可以适当地发送每个pull请求?
我担心答案可能与关于相反情况的这个问题相同("没有GitHub方式,但你可以添加一个远程回购")但我希望不然 - 尤其是因为我看不出答案如何允许我向新的遥控器发送拉取请求.
假设我想对其他人的项目实施修复.该项目驻留在GitHub上.
我可以在GitHub上创建一个fork并实现修复.
但是,我想在GitLab而不是GitHub上创建我的fork.
那可能吗?怎么样?
我读过这篇文章:https: //about.gitlab.com/2016/12/01/how-to-keep-your-fork-up-to-date-with-its-origin/
无论如何,我不知道在我的情况下我该怎么做.
什么是正确的方法.
谢谢.
UPDATE
GitLab上的存储库镜像可能没有意义.我可以在GitLab上创建一个MY GitHub存储库的镜像,但是我无法创建其他人的存储库镜像.
https://docs.gitlab.com/ee/workflow/repository_mirroring.html
这是我到目前为止所做的:
我已将原来的GitHub项目克隆到我的本地机器上.我已将修复程序提交到本地存储库中的新分支.我在GitLab上创建了一个空项目.我已将我的本地存储库中的原点设置为GitLab上的空项目,并将两个分支推送到GitLab.我已将本地存储库中的上游设置为GitHub存储库.
当我想从原始的GitHub存储库获取新的提交到GitLab上的存储库(即同步存储库)时,我可以使用我的本地存储库作为中间步骤.但是,GitHub上的repo和GitLab上的repo之间没有直接的联系.我的设置是否正确?如果我在GitHub上做一个分叉有什么区别吗?
我是Git的新用户.我已经分叉了一个名为Spoon-Knife的存储库(可以用Git练习分叉).然后,我通过运行在本地克隆它
git clone https://github.com/rohinichoudhary/Spoon-Knife.git
Run Code Online (Sandbox Code Playgroud)
该存储库包含三个分支,即
master,test-branch,change-the-title.当我跑git branch,它只显示*master,而不是剩下的两个分支.当我跑
git checkout test-branch
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
错误:pathspec'test-branch'与git已知的任何文件都不匹配.
为什么会这样?我怎么解决这个问题?
有没有办法从GitHub上的特定分支派生?...例如,moodle有很多分支(1.9,2.0 ......等等).克隆只能执行分支1.9而不是主分支吗?是否可以将特定分支克隆到我的PC上?
Stash启用自动fork同步(如果选择):https
:
//confluence.atlassian.com/display/STASH/Keeping+forks+synchronized
它将更新fork中未修改的任何分支.
我一直无法在gitHub中找到类似的自动功能; 所有谷歌搜索都通过本地缓存以手动方式同步分叉.
所以,Git的新手总数.一直在阅读指南,并认为我有基本但我很难实现这一目标.
我为我的通用标记源代码创建了一个repo.只是我为每次突破重用的东西.它被称为markupDNA.git
我想在我的mac站点目录中有不同的目录~/Sites/project-N.我建立在通用的东西上并在网站上突破的地方.我希望这些与我的主要git repo绑在一起,但是你不能分叉你自己的回购?
我希望我能做到这样的事情:
git clone <url> name
git add .
# make changes
git commit -m 'whatever'
git push
Run Code Online (Sandbox Code Playgroud)
但我不希望它推向原点.我希望它能推到markupDNA克隆的回购分支.但它似乎只是将我的更改推送到原始主人.我的想法是保持markupDNA清洁,并为我的不同项目提供大量的叉子,每个项目都将在我的硬盘上有自己的克隆目录.
有任何想法吗?
我正在研究一个使用cocoapods的项目,突然我发现自己在其中一个库中做了一些更改.如何确保这些更改永远不会被覆盖pod update?有没有办法在不更新github项目的情况下在pod中引入更改?
更新:分叉项目
我试图分叉项目并创建一个新的specfile指向新项目.我能够安装基本的东西,但是,出于某种原因,有一些安装的依赖项,但无法在pods项目中引用.目前我的podsfile中有这个:
'WhirlyGlobe', :podspec => 'https://raw.github.com/tiagoalmeida/WhirlyGlobe/master/WhirlyGlobe.podspec'
Run Code Online (Sandbox Code Playgroud)
该库的分支位于https://github.com/tiagoalmeida/WhirlyGlobe
更新2:缺少标题
我发现没有生成boost和Eigen(从WhrilyGlobe使用)的头文件(Pods/Headers).
更新3:尝试做一些关于标题的事情
我试图查看此线程中的一些配置,我已经尝试了常见问题解答中的解决方案,但我相信我的问题是不同的.标题实际上是丢失的.
更新4:攻击cocoapods版本
我已经卸载了cocoapods并安装了0.20.2版本(在尝试使用我的fork之前工作)并保持完全相同:/.
我在Bitbucket上分了一个回购,这是一个错误,我想删除分叉.
而不是经历将其合并回来的麻烦(因为我没有做任何改动会产生误导),我只想删除它.
我不能在Bitbucket中看到前端选项,但必须有一个......对吗?
我最近分叉了一个GitHub存储库来修复问题,并创建了一个pull请求.当我等待拉取请求被接受时,我已将我的本地指向package.json我的分叉仓库,如下所示:
devDependencies: {
"karma-mocha": "maloric/karma-mocha"
}
Run Code Online (Sandbox Code Playgroud)
然而事实证明,karma-mocha需要执行构建步骤来生成lib/adapter.js- 包的重要部分.此文件列在.gitignore,因此在存储库中不存在.构建步骤是一个繁琐的任务,通常在包发布到npm时执行,因此adapter.js存在于下载的npm模块中.
我的问题是:打包存储库的分叉构建版本的正确方法是什么,以便我可以将其用作依赖项?据我所知,我有以下选择:
.tgz使用构建的文件创建文件,然后将其托管在某处并将package.json指向该文件..gitignore为允许adapter.js,然后推送到Github上的分支并使用该分支作为我的依赖项.这些都可以,但我觉得我错过了一些东西.npm是否有分叉包的概念?并不是每个git存储库都可以用作依赖,而不需要某种构建/分析步骤,那么做这种事情的可接受方式是什么?
git-fork ×10
github ×8
git ×5
bitbucket ×1
branch ×1
cocoapods ×1
git-branch ×1
git-checkout ×1
gitlab ×1
ios ×1
npm ×1
package.json ×1