uTools-Manuals/docs/git/git am.html
2019-04-08 23:22:26 +08:00

3 lines
12 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div class="c-markdown doc-markdown"><div class="doc-postil"><div class="c-markdown"><h2>名称</h2></div></div><div class="doc-postil"><div class="c-markdown"><p>git-am  - 从邮箱应用一系列修补程序</p></div></div><div class="doc-postil"><div class="c-markdown"><h2>概要</h2></div></div><div class="doc-postil"><div class="c-markdown"><pre class="prism-token token language-javascript">git am [--signoff] [--keep] [--[no-]keep-cr] [--[no-]utf8]         [--[no-]3way] [--interactive] [--committer-date-is-author-date]         [--ignore-date] [--ignore-space-change | --ignore-whitespace]         [--whitespace=&lt;option&gt;] [-C&lt;n&gt;] [-p&lt;n&gt;] [--directory=&lt;dir&gt;]         [--exclude=&lt;path&gt;] [--include=&lt;path&gt;] [--reject] [-q | --quiet]         [--[no-]scissors] [-S[&lt;keyid&gt;]] [--patch-format=&lt;format&gt;]         [(&lt;mbox&gt; | &lt;Maildir&gt;)…]git am (--continue | --skip | --abort)</pre></div></div><div class="doc-postil"><div class="c-markdown"><h2>描述</h2></div></div><div class="doc-postil"><div class="c-markdown"><p>将邮箱中的邮件拆分为提交日志消息、作者信息和补丁,并将其应用到当前分支。</p></div></div><div class="doc-postil"><div class="c-markdown"><h2>Options</h2></div></div><div class="doc-postil"><div class="c-markdown"><p>(&lt;mbox&gt;|&lt;Maildir&gt;)…</p></div></div><div class="doc-postil"><div class="c-markdown"><p>要从中读取补丁的邮箱文件列表。如果您不提供此参数,则该命令会从标准输入中读取。如果你提供目录,他们将被视为邮件。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>-s   --signoff</p></div></div><div class="doc-postil"><div class="c-markdown"><p>使用自己的提交者标识向提交消息添加<code>Signed-off-by:</code>一行。有关更多信息,请参阅 git-commit [1]中的 signoff 选项。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>-k   --keep</p></div></div><div class="doc-postil"><div class="c-markdown"><p><code>-k</code>标志传递给<code>git mailinfo</code>(参见 git-mailinfo [1])。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>--keep-non-patch</p></div></div><div class="doc-postil"><div class="c-markdown"><p><code>-b</code>标志传递给<code>git mailinfo</code>(参见 git-mailinfo [1])。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>--no-keep-cr</p></div></div><div class="doc-postil"><div class="c-markdown"><p><code>--keep-cr</code>,使用相同的选项调用<code>git mailsplit</code>(请参阅 git-mailsplit [1]),以防止它在行尾剥离 CR。<code>am.keepcr</code>配置变量可以用来指定默认行为。<code>--no-keep-cr</code>对覆盖<code>am.keepcr</code>很有用。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>-c   --scissors</p></div></div><div class="doc-postil"><div class="c-markdown"><p>在剪刀线前删除所有内容(参见 git-mailinfo [1])。可以使用<code>mailinfo.scissors</code>配置变量默认激活。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>--no-scissors</p></div></div><div class="doc-postil"><div class="c-markdown"><p>忽略剪刀线(参见 git-mailinfo [1])。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>-m   --message-id</p></div></div><div class="doc-postil"><div class="c-markdown"><p><code>-m</code>标志传递给<code>git mailinfo</code>(参见 git-mailinfo [1]),以便
Message-ID 头文件被添加到提交消息中。<code>am.messageid</code>配置变量可以用来指定默认的行为。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>--no-message-id</p></div></div><div class="doc-postil"><div class="c-markdown"><p>不要将 Message-ID 头文件添加到提交消息中。<code>no-message-id</code>对覆盖<code>am.messageid</code>很有用。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>-q   --quiet</p></div></div><div class="doc-postil"><div class="c-markdown"><p>保持安静。只打印错误消息。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>-u   --utf8</p></div></div><div class="doc-postil"><div class="c-markdown"><p><code>-u</code>标志传递给<code>git mailinfo</code>(参见 git-mailinfo [1])。建议的从电子邮件中提交的提交日志消息被重新编码为 UTF-8编码<code>i18n.commitencoding</code>如果不是 UTF-8配置变量可用于指定项目的首选编码</p></div></div><div class="doc-postil"><div class="c-markdown"><p>这在以前版本的 git 中是可选的,但现在它是默认的。您可以使用<code>--no-utf8</code>来覆盖此。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>--no-utf8</p></div></div><div class="doc-postil"><div class="c-markdown"><p><code>-n</code>标志传递给<code>git mailinfo</code>(参见 git-mailinfo [1])。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>-3   --3way   --no-3way</p></div></div><div class="doc-postil"><div class="c-markdown"><p>如果修补程序不能干净地应用如果修补程序记录它应该应用于的斑点的标识则会退回到3路合并并且我们在本地提供这些斑点。<code>--no-3way</code>可以用来覆盖 am.threeWay 配置变量。有关更多信息请参阅g it-config [1]中的 am.threeWay。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>--ignore-space-change   --ignore-whitespace   --whitespace=&lt;option&gt;   -C&lt;n&gt;   -p&lt;n&gt;   --directory=&lt;dir&gt;   --exclude=&lt;path&gt;   --include=&lt;path&gt;   --reject</p></div></div><div class="doc-postil"><div class="c-markdown"><p>这些标志被传递给<code>git apply</code>应用该补丁的(参见
git-apply [1])程序。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>--patch-format</p></div></div><div class="doc-postil"><div class="c-markdown"><p>默认情况下,该命令将尝试自动检测补丁格式。此选项允许用户绕过自动检测并指定补丁应被解释为的补丁格式。有效的格式是 mboxmboxrdstgitstgit-series 和 hg。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>-i   --interactive</p></div></div><div class="doc-postil"><div class="c-markdown"><p>以交互方式运行。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>--committer-date-is-author-date</p></div></div><div class="doc-postil"><div class="c-markdown"><p>默认情况下,命令将来自电子邮件的日期记录为落实作者日期,并使用提交创建时间作为提交者日期。这允许用户通过使用与作者日期相同的值来说谎提交者日期。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>--ignore-date</p></div></div><div class="doc-postil"><div class="c-markdown"><p>默认情况下,命令将来自电子邮件的日期记录为落实作者日期,并使用提交创建时间作为提交者日期。这允许用户通过使用与提交者日期相同的值来说谎作者日期。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>--skip</p></div></div><div class="doc-postil"><div class="c-markdown"><p>跳过当前的补丁。这仅在重新启动中止的修补程序时才有意义。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>-S&lt;keyid&gt;   --gpg-sign=&lt;keyid&gt;</p></div></div><div class="doc-postil"><div class="c-markdown"><p>GPG标志的提交。<code>keyid</code>参数是可选的,并且默认为提交者身份; 如果指定,它必须粘贴到选项没有空格。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>--continue   -r   --resolved</p></div></div><div class="doc-postil"><div class="c-markdown"><p>修补程序失败后(例如尝试应用冲突修补程序),用户已手动应用它,并且索引文件存储应用程序的结果。使用作者身份并提交从电子邮件和当前索引文件提取的日志进行提交,然后继续。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>--resolvemsg=&lt;msg&gt;</p></div></div><div class="doc-postil"><div class="c-markdown"><p>发生修补程序失败时,&lt;msg&gt;将在退出之前打印到屏幕上。这将覆盖标准消息,通知您使用<code>--continue</code><code>--skip</code>处理失败。这仅适用于<code>git rebase</code><code>git am</code>之间的内部使用。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>--abort</p></div></div><div class="doc-postil"><div class="c-markdown"><p>恢复原始分支并中止修补操作。</p></div></div><div class="doc-postil"><div class="c-markdown"><h2>讨论</h2></div></div><div class="doc-postil"><div class="c-markdown"><p>提交作者姓名取自邮件的“From”行并且提交作者日期取自邮件的“Date”行。在剥离普通前缀“PATCH &lt;任何东西&gt;”之后“主题”行用作提交的标题。“Subject”这一行应该简洁地描述一行文本中提交的内容。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>“From”和“Subject”开始主体的行会覆盖从头文件获取的各个提交作者名称和标题值。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>提交消息由从“Subject:”取得的标题,空白行和消息的正文形成,直到补丁开始。每行末尾的多余空格将自动删除。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>预计补丁将直接跟随消息内联。任何形式的行:</p></div></div><div class="doc-postil"><div class="c-markdown"><ul class="ul-level-0 list-paddingleft-2" style="margin: 10px 0px 10px 20px;"><li><p>三破折号和行尾,或者</p></li></ul></div></div><div class="doc-postil"><div class="c-markdown"><ul class="ul-level-0 list-paddingleft-2" style="margin: 10px 0px 10px 20px;"><li><p>以“diff  - ”开头的行,或者</p></li></ul></div></div><div class="doc-postil"><div class="c-markdown"><ul class="ul-level-0 list-paddingleft-2" style="margin: 10px 0px 10px 20px;"><li><p>以“Index”开头的行作为补丁的开始并且提交日志消息在第一次出现此行之前终止。初次调用时<code>git am</code>,您将其指定要处理的邮箱名称。在看到不适用的第一个补丁后,它会在中间中止。您可以通过以下两种方法之一从中恢复:</p></li></ul></div></div><div class="doc-postil"><div class="c-markdown"><ul class="ul-level-0 list-paddingleft-2" style="margin: 10px 0px 10px 20px;"><li><p>通过使用该<code>--skip</code>选项重新运行该命令,跳过当前的修补程序。</p></li></ul></div></div><div class="doc-postil"><div class="c-markdown"><ol class="ol-level-0 list-paddingleft-2"><li><p>手动解决工作目录中的冲突,并更新索引文件,使其进入补丁应该产生的状态。然后使用该<code>--continue</code>选项运行该命令。</p></li></ol></div></div><div class="doc-postil"><div class="c-markdown"><p>在当前操作完成之前,命令拒绝处理新邮箱,因此如果您决定从头开始,请<code>git am --abort</code>在运行带有邮箱名称的命令之前运行。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>在应用任何补丁之前ORIG_HEAD 被设置为当前分支的顶端。如果您在多次提交时遇到问题,比如<code>git am</code>在错误的分支上运行,或者通过更改邮箱(例如,“发件人:”行中的错误)更容易修复提交中的错误,则这很有用。</p></div></div><div class="doc-postil"><div class="c-markdown"><h2>Hooks</h2></div></div><div class="doc-postil"><div class="c-markdown"><p>这个命令可以运行<code>applypatch-msg</code><code>pre-applypatch</code>以及<code>post-applypatch</code>挂钩。有关更多信息,请参阅 githooks [5]。</p></div></div></div>