我正在使用一个git存储库,需要从另一个不知道第一个存储库的git存储库提交.
通常我会HEAD@{x}在reflog中使用它来挑选,但因为.git它对这个reflog条目(不同的物理目录)一无所知,我怎么能挑选这个,或者我可以吗?
我正在使用git-svn.我的第一个分支使用git-svn的trunk一个颠覆回购,而下一个分支是在git-svn上一个Subversion分支.
当我尝试使用git am应用它时,我有一个补丁,它给出了以下输出
Checking patch old/filename...
error: old/filename: does not exist in index
Run Code Online (Sandbox Code Playgroud)
在补丁中,old/filename实际上被移动到new/filename,但似乎源树中已经缺少原始文件.
那么什么是错误以及如何解决/解决它?它可以被忽略(使用--reject等)吗?
我遇到这个问题很长时间了,但仍然没有得到解决方案......
git 版本是 1.7.9,安装在 ubuntu 12.04 上。
当在 git 存储库上应用补丁时(补丁可以从其他存储库进行 git 格式化):
使用 git am 时:
使用 git am -3 时无法应用:提示“sha1 信息缺少或无用”
但是补丁确实可以使用补丁cmd来应用......
为什么 git am 无法应用补丁?
我对此进行了一些调查,终于找到了一些线索:
该补丁最初是在代码库 1 中生成的,例如:
Base Line 1
Base Line 2
(patch)Add Line 1
(patch)Add Line 2
Base Line 3
Base Line 4
...
当尝试应用于代码库 2 时,如下例所示(缺少一行):
Base Line 1
Base Line 3
Base Line 4
...
git am 和 git am -3 都不起作用
虽然补丁 cmd“智能地”应用了如下补丁(也符合预期):
Base Line 1
(patch)Add Line 1
(patch)Add Line …