mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-10-10 16:24:49 +08:00
git语法高亮
This commit is contained in:
@@ -1,16 +1,16 @@
|
||||
<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-rerere - 重复使用冲突合并的记录分辨率</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 rerere [clear|forget <pathspec>|diff|remaining|status|gc]</pre></div></div><div class="doc-postil"><div class="c-markdown"><h2>描述</h2></div></div><div class="doc-postil"><div class="c-markdown"><p>在采用相对较长时间的主题分支的工作流中,开发人员有时需要一遍又一遍地解决相同的冲突,直到主题分支完成(合并到“release”分支,或发送并接受上游)。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>此命令通过在初始手动合并时记录冲突的自动合并结果和相应的手动分析结果,并将先前记录的手动分辨率应用于其相应的自动合并结果,来帮助开发人员处理此过程。</p></div></div><div class="doc-postil"><div class="c-markdown"><div class="table-wrapper"><table><thead><tr class="firstRow"><th style="text-align: left;"><div class="table-header"><p>注意</p></div></th><th style="text-align: left;"><div class="table-header"><p>您需要设置配置变量rerere.enabled才能启用此命令。</p></div></th></tr></thead><tbody></tbody></table></div></div></div><div class="doc-postil"><div class="c-markdown"><h2>命令</h2></div></div><div class="doc-postil"><div class="c-markdown"><p>通常,<code>git rerere</code>运行时没有参数或用户干预。但是,它有几个允许它与其工作状态交互的命令。</p></div></div><div class="doc-postil"><div class="c-markdown"><p><em style="font-style: italic;">clear</em></p></div></div><div class="doc-postil"><div class="c-markdown"><p>如果要中止合并分辨率,请重置rerere使用的元数据。调用<code>git am [--skip|--abort]</code>或<code>git rebase [--skip|--abort]</code>将自动调用此命令。</p></div></div><div class="doc-postil"><div class="c-markdown"><p><em style="font-style: italic;">forget</em> <pathspec></p></div></div><div class="doc-postil"><div class="c-markdown"><p>在<pathspec>中重置针对当前冲突记录的冲突解决方案。</p></div></div><div class="doc-postil"><div class="c-markdown"><p><em style="font-style: italic;">diff</em></p></div></div><div class="doc-postil"><div class="c-markdown"><p>显示分辨率当前状态的差异。跟踪用户解决冲突时更改的内容很有用。其他参数直接传递给<code>diff</code>安装在PATH中的系统命令。</p></div></div><div class="doc-postil"><div class="c-markdown"><p><em style="font-style: italic;">status</em></p></div></div><div class="doc-postil"><div class="c-markdown"><p>具有合并分辨率将会记录的冲突的打印路径。</p></div></div><div class="doc-postil"><div class="c-markdown"><p><em style="font-style: italic;">remaining</em></p></div></div><div class="doc-postil"><div class="c-markdown"><p>打印具有尚未由rerere自动解决的冲突的路径。这包括其分辨率无法通过rerere进行跟踪的路径,例如冲突的子模块。</p></div></div><div class="doc-postil"><div class="c-markdown"><p><em style="font-style: italic;">gc</em></p></div></div><div class="doc-postil"><div class="c-markdown"><p>Prune记录很久以前发生的冲突合并。默认情况下,将修剪超过15天的未解决的冲突并修复60天以上的已解决冲突。这些默认值分别通过<code>gc.rerereUnresolved</code>和<code>gc.rerereResolved</code>配置变量进行控制。</p></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"><pre class="prism-token token language-javascript"> o---*---o topic /
|
||||
|
||||
<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-rerere - 重复使用冲突合并的记录分辨率</p></div></div><div class="doc-postil"><div class="c-markdown"><h2>概要</h2></div></div><div class="doc-postil"><div class="c-markdown"><pre><code class="language-Bash">git rerere [clear|forget <pathspec>|diff|remaining|status|gc]</code></pre></div></div><div class="doc-postil"><div class="c-markdown"><h2>描述</h2></div></div><div class="doc-postil"><div class="c-markdown"><p>在采用相对较长时间的主题分支的工作流中,开发人员有时需要一遍又一遍地解决相同的冲突,直到主题分支完成(合并到“release”分支,或发送并接受上游)。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>此命令通过在初始手动合并时记录冲突的自动合并结果和相应的手动分析结果,并将先前记录的手动分辨率应用于其相应的自动合并结果,来帮助开发人员处理此过程。</p></div></div><div class="doc-postil"><div class="c-markdown"><div class="table-wrapper"><table><thead><tr class="firstRow"><th style="text-align: left;"><div class="table-header"><p>注意</p></div></th><th style="text-align: left;"><div class="table-header"><p>您需要设置配置变量rerere.enabled才能启用此命令。</p></div></th></tr></thead><tbody></tbody></table></div></div></div><div class="doc-postil"><div class="c-markdown"><h2>命令</h2></div></div><div class="doc-postil"><div class="c-markdown"><p>通常,<code>git rerere</code>运行时没有参数或用户干预。但是,它有几个允许它与其工作状态交互的命令。</p></div></div><div class="doc-postil"><div class="c-markdown"><p><em style="font-style: italic;">clear</em></p></div></div><div class="doc-postil"><div class="c-markdown"><p>如果要中止合并分辨率,请重置rerere使用的元数据。调用<code>git am [--skip|--abort]</code>或<code>git rebase [--skip|--abort]</code>将自动调用此命令。</p></div></div><div class="doc-postil"><div class="c-markdown"><p><em style="font-style: italic;">forget</em> <pathspec></p></div></div><div class="doc-postil"><div class="c-markdown"><p>在<pathspec>中重置针对当前冲突记录的冲突解决方案。</p></div></div><div class="doc-postil"><div class="c-markdown"><p><em style="font-style: italic;">diff</em></p></div></div><div class="doc-postil"><div class="c-markdown"><p>显示分辨率当前状态的差异。跟踪用户解决冲突时更改的内容很有用。其他参数直接传递给<code>diff</code>安装在PATH中的系统命令。</p></div></div><div class="doc-postil"><div class="c-markdown"><p><em style="font-style: italic;">status</em></p></div></div><div class="doc-postil"><div class="c-markdown"><p>具有合并分辨率将会记录的冲突的打印路径。</p></div></div><div class="doc-postil"><div class="c-markdown"><p><em style="font-style: italic;">remaining</em></p></div></div><div class="doc-postil"><div class="c-markdown"><p>打印具有尚未由rerere自动解决的冲突的路径。这包括其分辨率无法通过rerere进行跟踪的路径,例如冲突的子模块。</p></div></div><div class="doc-postil"><div class="c-markdown"><p><em style="font-style: italic;">gc</em></p></div></div><div class="doc-postil"><div class="c-markdown"><p>Prune记录很久以前发生的冲突合并。默认情况下,将修剪超过15天的未解决的冲突并修复60天以上的已解决冲突。这些默认值分别通过<code>gc.rerereUnresolved</code>和<code>gc.rerereResolved</code>配置变量进行控制。</p></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"><pre><code class="language-Bash"> o---*---o topic /
|
||||
|
||||
o---o---o---*---o---o master</code></pre></div></div><div class="doc-postil"><div class="c-markdown"><p>对于这样的测试,您需要以某种方式合并主题和主题。一种方法是将主人拉入主题分支:</p></div></div><div class="doc-postil"><div class="c-markdown"><pre><code class="language-Bash"> $ git checkout topic
|
||||
|
||||
$ git merge master
|
||||
|
||||
|
||||
|
||||
|
||||
o---*---o---+ topic / /
|
||||
|
||||
o---o---o---*---o---o master</code></pre></div></div><div class="doc-postil"><div class="c-markdown"><p>标记的提交<code>*</code>触摸同一文件中的同一区域; 您需要在创建标记为的提交时解决冲突<code>+</code>。然后,您可以测试结果,以确保您的工作进行中仍然适用于最新的master。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>在这次测试合并之后,有两种方法可以继续您关于该主题的工作。最简单的方法是在测试合并提交的基础上构建<code>+</code>,当主题分支中的工作终于准备就绪后,将主题分支拉入主内容中,和/或请求上游从您那里撤出。然而到那时,主测试或上游测试合并后可能已经进阶<code>+</code>,在这种情况下,最终提交图如下所示:</p></div></div><div class="doc-postil"><div class="c-markdown"><pre><code class="language-Bash"> $ git checkout topic
|
||||
|
||||
$ git merge master
|
||||
$ git merge master
|
||||
|
||||
$ ... work on both topic and master branches
|
||||
|
||||
@@ -18,10 +18,10 @@
|
||||
|
||||
$ git merge topic
|
||||
|
||||
|
||||
|
||||
|
||||
o---*---o---+---o---o topic / / \
|
||||
|
||||
o---o---o---*---o---o---o---o---+ master</code></pre></div></div><div class="doc-postil"><div class="c-markdown"><p>然而,当你的主题分支是长期存在的时候,你的主题分支最终会有很多这样的“Merge from master”提交,这会不必要地混淆发展历史。Linux内核邮件列表的读者可能还记得,当一个子系统维护者要求从一个充满“useless merges”的分支中拉出时,Linus抱怨这种频繁的测试合并。</p></div></div><div class="doc-postil"><div class="c-markdown"><p>作为替代方案,为了保持主题分支不受测试合并的干扰,您可以放弃测试合并,并在测试合并之前继续构建在提示之上:</p></div></div><div class="doc-postil"><div class="c-markdown"><pre><code class="language-Bash"> $ git checkout topic
|
||||
|
||||
$ git merge master
|
||||
$ git merge master
|
Reference in New Issue
Block a user