相关疑难解决方法(0)

什么是.git/info/grafts?

我试图弄清楚Git中的"移植物"是什么.

例如,在这里的一个最新评论中,Tobu假设使用git-filter-branch.git/info/grafts来连接两个存储库.

但我不明白为什么我需要这些移植物?似乎所有工作都没有最后两个命令.

git version-control

48
推荐指数
3
解决办法
1万
查看次数

如何推送'refs/replace'而不在git中推送任何其他引用?

我用这种方式用另一个提交替换了一个提交:

* HEAD
|
...
|
* ==> *  `git replace left_commit right_commit`
|     |
*-----/
|
...
Run Code Online (Sandbox Code Playgroud)

这个替换放在.git/refs/replace文件夹中,所以我想知道 - 如何将这个refs推送到远程端?

git

16
推荐指数
1
解决办法
1388
查看次数

如何在没有共同历史记录的情况下重新集成svn和git存储库?

我有一个基于github的git存储库,它代表某个点的开发,然后是一个没有用git svn初始化的svn存储库,它有进一步的开发.我想将svn更改带入git存储库,开始使用git repo进行开发,并使用git svn dcommit推送更改.这可能吗?这是可取的吗?

这是我的具体内容:

我们在这里开始使用WordPress插件进行开发:

http://github.com/mrdoornbos/wpconfidentcaptcha

Master在ef82b94a1232b44aae3e,github没有进一步的更改.

当我们接受wp-plugins.org的申请时,为我们创建了一个空的svn仓库:

http://svn.wp-plugins.org/wp-confident-captcha/trunk@278927

然后将某些修改过的文件复制到(r256425)中.进行了进一步的修改,最后一次是r278935.

我想要的是将SVN更改与git svn元数据一起应用于master.

这是我到目前为止(大约需要4分钟):

git clone git://github.com/mrdoornbos/wpconfidentcaptcha.git github_cc
cd github_cc
git svn init --stdlayout --prefix="svn/" http://svn.wp-plugins.org/wp-confident-captcha
git svn fetch --revision 256362:278935
Run Code Online (Sandbox Code Playgroud)

这将我的github树放在origin/master中,我的svn树放在svn/trunk中(以及它们自己/ svn分支中的所有标签).origin/master和svn/trunk之间没有共同的祖先.我不知道从哪里开始,或者是否有办法从svn/trunk获取更改到origin/master,以便两个repos的头部具有相同的文件,并让git svn dcommit from origin起源/主.

从一个新的github repo开始似乎是最直接的方式,我不会失去早期历史.但是,似乎应该有一种方法可以使用现有的github repo来完成这项工作.

(编辑:看起来这已经被问为如何在没有共同祖先的情况下合并两个分支?但是没有git filter-branch使其工作所需的示例.不像那个问题,这些是公共svn和git repos,所以答案是有效的脚本是可能的.)

git git-svn

12
推荐指数
1
解决办法
3193
查看次数

连接两个Git存储库的历史?

我有一个旧的Git回购,打电话给它app.然后,一年后,我想从头开始重建应用程序,所以我做了一个新的回购,打电话给它app-2.

现在,我意识到我应该刚刚作出了一个新的分支或东西,而不是一个新的回购,因为我想移动的历史app-2之上app,然后摆脱app-2使app目前拥有的所有的历史app+ app-2.

这可能吗?

更新:

我尝试app通过删除app(.git目录除外)中的所有文件并进行提交来"重置" repo .然后:

cd ~/Projects/app-2
git format-patch --stdout --root master > ../app/app-2-patches.txt
cd ../app
git am app-2-patches.txt
Run Code Online (Sandbox Code Playgroud)

但是,我在有分支机构的地方遇到了冲突app-2.

是否可以app-2在保留历史分支结构的同时应用提交app-2

git merge history commit repository

6
推荐指数
1
解决办法
778
查看次数

如何将一个git历史追加到另一个?

我有一个存储库,其中包含不再使用的旧版网站的代码master.该站点在一个新的存储库中完全重新设计,该存储库中的代码和历史记录被复制到旧站点的repo中的一个分支中,让我们调用它new_site.我无法合并new_sitemaster,因为历史是完全不同的.

我已经调查过两个子模块和子树合并了一下,但是当你试图保持代码来自另一个项目的子目录中包含的一个项目时,两者似乎只是相关的,而不是当你想要在两个工作树之上粘贴两个工作树时彼此.

此时,我希望将旧代码保留在原来的位置,并将其添加new_site到当前HEAD的顶部.任何想法我怎么能做到这一点,或替代建议清理这个烂摊子而不吹走旧代码?

git git-submodules git-subtree

6
推荐指数
1
解决办法
405
查看次数