【发布时间】:2015-05-10 01:50:57
【问题描述】:
我在这里是因为:我尝试将我的存储库连接到另一个存储库以保持“最新”,但我试图不提取另一个存储库的整个历史...
为了解释,我使用 Laravel 5 (https://github.com/laravel/laravel) 并创建了自己的 master(它是 laravel/v5.0.1 的一个分支)来自定义内部的一些东西(如 css 框架、一些通用布局等.) -> 称之为“azurky-repo/master”
现在我想用 laravel/master 的最新提交更新我的存储库,但是每次我从 laravel/master 拉取时,我的“git log”都充满了提交(大约 4400),我不想要这个。 (我是一个疯狂的人,想要一个干净的存储库和对一切的大量控制^^)。
在理想情况下,我想只更新文件,然后只进行一次提交,并带有类似“从 Laravel/master 更新”之类的消息。 没有任何其他我根本不需要的额外历史条目或参考。
试过了,没有成功:
git pull --depth 1 laravel master
我还有一个额外的历史条目......(最后一个 laravel/master 提交消息并且没有成功修改......可能错过了一些东西)
有人有一个想法(或者我是唯一一个尝试这种事情的疯子......)?
附注:
为了澄清,我希望得到与我相同的结果:
- 克隆我的仓库的最新版本 (azursky-repo/master)
- 从 laravel/master 下载所有更新的文件
- 用这些文件覆盖我的存储库
- 手动合并每个修改过的文件
- 然后使用“从 laravel/masgter 更新”推送到 azursky-repo/master
其实我不是受虐狂,也不想绕过git的合并能力...^^
所以我觉得终于有了这段历史:
- Rev1:“初始提交 - Laravel v5.0.1”
- Rev2:“Foundation5 / SASS / Gulp 的实现”
- Rev3:“从 laravel/master 更新”
代替:
- Rev1:“初始提交 - Laravel v5.0.1”
- Rev2:“Foundation5 / SASS / Gulp 的实现”
- 来自 Laravel/master 的 4400 次提交
- Rev4403:“更新 laravel/master 时合并冲突”(类似这样)
你看到我的希望了吗?
【问题讨论】:
-
这听起来有点像过早的优化。 Git 的历史非常擅长压缩东西。在 Laravel 的情况下,它是 1.6m 与 12m。考虑到有超过 4,000 次提交,差别不大。
-
不,这不是优化问题,我只是根本不想要这个额外的提交历史。好像我已经下载了更新的文件并用手动覆盖并合并了我的存储库。但我很欣赏自动合并,这就是我尝试用 Git 来做的原因,我不是受虐狂。下面要澄清一下(因为我无权编辑=()
-
您应该始终能够编辑自己的问题。不要在答案中进行澄清,它可能会被删除。
-
为什么不克隆 Laravel 并从那里开始工作,而不是在“初始提交”中复制它?这样你就可以一直处理自己的东西,并且每隔一段时间将 Laravel 的当前开发合并到你自己的分支中。
-
将问题编辑得更清楚。关于您的回答,我会说“也许”,但我真的不明白您要解释什么^^这种“合并到我自己的分支”的结果是什么?
标签: git laravel github repository revision-history