将分阶段更改应用到新存储库

布伦特咏叹调

我在遵循的步骤中犯了什么错误?

我在Alpha本地机器上的repo 中编辑了文件然后我意识到我想要Bravo在我本地盒子上的不同 repo中进行这些更改我试过这个:

c:/repos/alpha/>git diff --cached > mypatch.txt

然后我将补丁文件复制到另一个 repo 位置并输入:

c:/repos/bravo/>git apply mypatch.txt

如果我用于 diff 和 apply 的 shell 是 powershell 或“Git CMD”,那么第二个命令会出错:

fatal: unrecognized input

相反,如果我使用“Git Bash”shell 来执行这两个命令,则会出现不同的错误:

5109e.patch:19: trailing whitespace.
    IL.DataUsageGB,
warning: 1 line adds whitespace errors.

然后我尝试使用以下命令更仔细地应用更改:

$ git apply --reject --whitespace=fix mypatch.txt

由此我得到了许多错误的转储。例子:

error: while searching for:
);
GO
-- Anchor table ------------------------------------------------------------
-------------------------------------------
-- IL_InvoiceLine table (with 33 attributes)
----------------------------------------------------------------------------
-------------------------------------------
IF Object_ID('dbo.IL_InvoiceLine', 'U') IS NULL
CREATE TABLE [dbo].[IL_InvoiceLine] (

error: patch failed: scripts/bi/sql/Unified_ODS_Schema.sql:302

repo 中的分支和 repo 中Alpha的相应分支Bravo都来自同一个来源,并且都有一个git status与上游“最新”的报告。换句话说,除了存在于 上的分阶段更改之外,分支是相同的Alpha我明确避免与原点进行推/拉。

建议?

周二

TL; 博士

没有任何问题,您可以完全忽略警告。您不需要--rejector --whitespace=fix,但如果您确实想使用后者,请在没有前者的情况下使用它。

更长

如果我用于差异和应用的外壳是 powershell ...

这最终将输出写为 Unicode(通过某种我无法正确描述的机制,因为我不“做”Windows)。您必须将其过滤回 UTF-8 或 ASCII 才能应用。

相反,如果我使用“Git Bash”shell 来执行这两个命令,则会出现不同的错误:

5109e.patch:19: trailing whitespace.
    IL.DataUsageGB,
warning: 1 line adds whitespace errors.

这不是一个真正的错误,这是一个警告这意味着您的原始补丁在行尾之前添加了一个空白。默认情况下,git apply 此为“错误”,但它真正的意思是“警告”。它的目的是提醒您注意,所讨论的行上有一个不可见的字符,您可能不打算这样做。(或者,也许你做到了!例如,在某些 Markdown 格式中,以两个空格结尾的行会插入一个分段。参见Git 仅忽略Markdown文件中的尾随空格。)

什么构成“空白错误”(实际上应该是“空白烦恼”或“空白警告”或“空白故障”,而不是“错误”)是可配置的。默认情况下git diff将突出显示此类空白故障。虽然我不能在这里展示它,但想象一下这-条线是红色的,而这+条线是绿色的,它<space>代表一个尾随的空白:

- blah blah
+ blah foo blah<space>

这个空间将以红色突出显示,以使其突出显示为“空白错误”(我将其称为空白故障或烦恼或警告,但只要我们使用 Git,我们就应该理解什么是“空白错误”这里的意思)。

随着--whitespace=fixgit apply会发现它认为是空白的错误,并确定它是否可以通过自动修复他们的事情:

  • 剥离尾随空格
  • 删除一些制表符前的空格
  • 大惊小怪 CRLF vs LF-only

如果它可以修复它们,它就会。这包括即使上下文不完全匹配也可以应用补丁,但可以通过这种大惊小怪来这样做,所以它不仅仅是“删除添加行中的尾随空格”。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将主存储库更改应用到重复存储库中

来自分类Dev

将提交中的更改应用到新的签出分支

来自分类Dev

将模板文件夹中的 git hooks 应用到特定的远程存储库

来自分类Dev

将更改应用到另一个分支的新 git 分支

来自分类Dev

AngularJS,将更改从工厂应用到视图

来自分类Dev

将Angular Controller应用到模板

来自分类Dev

将函数应用到pandas col

来自分类Dev

将Rust属性应用到多行

来自分类Dev

将补丁应用到uClibc

来自分类Dev

将位置应用到用户关系

来自分类Dev

将函数应用到pandas col

来自分类Dev

将 QPropertyAnimation 应用到 QRect

来自分类Dev

将视差效果应用到 GridView

来自分类Dev

将样式应用到父 div

来自分类Dev

将 re 应用到 Pandas Dataframe

来自分类Dev

如何从shell脚本将diff.sql应用到mysql数据库中

来自分类Dev

VBA-如何选择刚粘贴的值,然后将更改应用到它们?

来自分类Dev

应用到应用认证

来自分类Dev

将补丁应用到指定文件,完全忽略补丁文件中存储的路径/文件名?

来自分类Dev

将值列表作为参数应用到函数

来自分类Dev

将效果应用到输出而不是位图?

来自分类Dev

将方面应用到后期处理方面

来自分类Dev

使用bash将sed从文件应用到某些行

来自分类Dev

将Greasemonkey / Tampermonkey /用户脚本应用到iframe?

来自分类Dev

将功能应用到arr并打印出来

来自分类Dev

将功能应用到两个列表?

来自分类Dev

使用bash将sed从文件应用到某些行

来自分类Dev

将ngClass应用到声明ngRepeat的元素

来自分类Dev

将PHP函数应用到Magento价格中