我想将一个现有项目(托管在GitHub上)merge为我的项目的一部分(放入子目录中),同时保持历史记录和更新该项目的能力。我发现大约可以采用三种方法:Fork原始项目,将原始内容移动到子目录中并将其推送到我的GitHub存储库。启动一个新的repo,与现有的repo进行子树merge,然后推送到我的GitHubrepo。克隆现有的repo,创建一个新的主repo,将克隆的repo作为子模块放入主repo,推送。(1)变体可能是GitHub上更可取的变体,因为他们可能可以共享源代码。但从逻辑上讲,我的项目不是现有项目的分支。相反,现有的只是一个模块。此外,我不确定将现有代码移动到子目录
假设我从中克隆的存储库(对我来说只读)是:git@github.com:secret_project/dev.gitbranch:dev我fork了项目和URL:git@github.com:secret_user/Dde.git(我有完全访问权限:读+写)但是有人从另一个fork版本更新了git@github.com:secret_project/dev.git。假设文件更改于git@github.com:secret_project/dev.git(test.txt)content:hi!但我的fork项目有test.txt文件,内容为:hi那么如何在本地和我的存储库中更新fork
我的git存储库有三个分支,devel、stable和customers/acme_patches。很久以前,stable是从devel中fork出来的,所有的错误修复都在stable中进行。时不时地,stable会merge回devel。customers/acme_patches是一个包含一些客户特定补丁的分支。该分支未merge到devel和stable中。一些ASCII艺术来说明场景:o---o---ocustomers/acme_patches?/o---o---1---o---o---ostable/\\o---o---o---2---o---o---o---odevel\
我像这样在我的git仓库中添加了一个子模块:$gitsubmoduleaddgit://github.com/user/some-librarysome-library我决定创建一个该库的分支来进行一些调整。我如何交换该子模块,使其指向我自己的github分支? 最佳答案 子模块存储在.gitmodules中:$cat.gitmodules[submodule"ext/google-maps"]path=ext/google-mapsurl=git://git.naquadah.org/google-maps.git如果您使用文本编
所以,Git的新手。通读了指南并认为我掌握了基本知识,但在实现这一目标时遇到困难。我为我的通用标记源代码创建了一个存储库。只是我在每次突破时重复使用的东西。它叫做markupDNA.git我想在我的mac站点dir~/Sites/project-N中有不同的目录。我在通用内容的基础上构建网站并进行突破。我希望这些作为fork绑定(bind)到我的主要git仓库,但你不能fork你自己的仓库?我希望我能做这样的事情:gitclonenamegitadd.#makechangesgitcommit-m'whatever'gitpush但我不希望它推送到原点。我希望它推送到markupDNA
我正在用业余时间编码CultureGrid.他们有一个SOLRAPI来访问120万件文物。我已经发布了一个gem来使用他们的服务,但我有一个很好的想法,即使用带有SOLR适配器后端的Datamapper以更好的方式完成它。我刚刚在Github上轻松找到了一个去年的项目,名为dm-solr-adapter.它是2008年其他人的工作的一个分支,要使用它,您必须克隆项目并运行rake任务来安装它(在heroku上用处不大,所以我不得不出售它)。不幸的是,该任务现在中断了,因为他们没有固定他们的gem版本,并且Bones在版本2和3之间发生了很大变化。基本上-它需要一些重新编码才能让它成为一
Quick框架有一个公共(public)仓库here.我希望能够将其fork到私有(private)企业GitHub存储库中。fork将允许所有分支保留。另一种方法是克隆存储库并仅将一个分支推送到企业,但随后我失去了没有源/原始分支的所有分支。更新:我最终将我所有的分支都推送到企业git中。如果您只是执行gitpushyourRemoteNamemyNewBranch,那么它会将代码推送到企业git上的该分支,同时在企业GitHub中创建该分支。 最佳答案 这是不可能的,因为你的GitHubEnterprise(GHE)安装与公共(
当您在github上创建一个仓库时,您创建的仓库包含所有分支和标签。随着时间的推移,这些分支和标签会过时。如何使用fork如此简单地确保您的fork具有所有分支和标签而无需重新克隆?即一个gitmagicpull--rebaseupstream/*myremote/*这将获取上游的所有分支和标签,并确保它们存在于myremote中。 最佳答案 这假设您的“上游”Remote被命名为“origin”并且您的用户名下有您的自定义分支(即“maxandersen”)当您让您的克隆运行以下单行代码时(Trackallremotegitbra
我们是一个由60多名开发人员组成的团队,致力于开发同一产品,并且正在从SVN迁移到Git和GitHub。我们在SVN中有一个进程,其中单个文件被锁定,每当开发人员想要提交代码时,他需要让文件的所有者解锁它。我们三个人是总共150多个文件的所有者。解锁之前是代码审查。在Github中,我们计划使用Fork-Clone模型-一组开发人员正在从事的每个项目都会做一个fork,每个开发人员都会做一个fork的克隆,编写代码并提交到原点,该功能的负责人将向上游发出pull请求。虽然这看起来不错,但问题是当交付一个大项目时,它会带来大量更改以供审查,因此增加了文件所有者的负担。此外,这可能会在以后
当我对github中的库提出功能请求时,我会选择尝试联系作者和/或自己在本地副本上实现,完成后,fork项目并推送我的更改。通常情况下,原作者很高兴看到增强功能,他们要么按原样pull它们,要么在进行一些修改后手动merge它们。问题是,在我的提交被上游接受后,我应该如何处理我的fork项目?如果我不打算做任何进一步的更新,我应该删除存储库吗?或者,我应该为了历史利益而保留它吗?github并没有真正指出谁的副本是“最终”存储库,因此我不活跃的复刻可能会分散其他人的注意力,使他们无法找到正确的副本。事实上,我刚从某人那里得到了一个pullrequest,它也被上游接受了。