codecamp

IntelliJ IDEA如何应用补丁程序

存储在补丁文件中的延迟更改可以稍后应用于目标文件或目录。如果在创建补丁程序后编辑源代码,可能会产生冲突。IntelliJ IDEA 提供了一个方便的方法来解决这些冲突,并将补丁程序与更改合并。

打开补丁程序时,IntelliJ IDEA 会检测与修改文件名称相同的文件。对于每个检测到的文件,IntelliJ IDEA 都会将相对于基本目录的路径与来自该补丁程序的路径进行比较,并选择最接近的匹配项。如果找不到匹配的路径,则该文件被视为位于项目基础目录中,并以红色突出显示。

您可以将更改应用到存储在不同位置的文件,通过将任意目录映射为基本目录,或删除主要目录。

IntelliJ IDEA 应用补丁

  1. 在主菜单上选择:VCS | 应用补丁(VCS | Apply patch)。
  2. 在打开的应用补丁对话框中,指定补丁文件的全限定名称。手动键入名称或单击浏览按钮并在选择补丁文件对话框中找到所需的补丁文件。

    您也可以将文件或电子邮件附件拖放到应用补丁对话框,它会被自动选择。

  3. 配置补丁演示文稿布局。要在平面视图中显示更改,请按“按目录分组”工具栏按钮
    释放按钮以在目录树视图中显示更改。
  4. 要应用更改,请选中它旁边的复选框。
  5. 要对已移动到其他位置的已修改文件应用更改,请指定新的文件位置。
    • 要映射另一个基本目录,请选择所需的文件、目录或组文件/目录,然后单击“映射基本目录”工具栏按钮。在打开的对话框中选择相对于哪个文件名将被解释的目录。
    • 要从路径中删除主要目录,请单击 "条带目录(Strip Directory)" 工具栏按钮,得到尽可能多的您需要 strip 的主要目录。
    • 恢复最后的 strip 目录操作,点击“还原目录”工具栏按钮。点击这个按钮,您需要恢复的次数是之前删除的主要目录的次数。
    • 为了恢复所有的在选择中的 strip 目录操作,单击“重置目录”工具栏按钮
    • 要删除所有主目录,并将更改应用到基本目录中具有指定名称的文件,请单击“删除目录”工具栏按钮
  6. 要查看文件的本地工作副本、存储库版本和 "差异查看器" 中的补丁程序之间的差异和可能的冲突,请选择所需的更改,然后单击 "显示差异" 按钮
  7. 若要解决补丁和当前版本 (如果有) 之间的冲突,请在两个版本中选择要合并到生成文件的更改,然后单击 "应用"。

    请注意,您应用包含大量文件的补丁程序并导致大量冲突,您可以通过单击 "中止" 取消应用补丁程序,然后选择是否要中止、跳过或取消剩余的冲突。

IntelliJ IDEA更新本地信息
IntelliJ IDEA创建补丁程序
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

IntelliJ IDEA的一般准则

什么是IntelliJ IDEA项目

使用IntelliJ IDEA的意图行为

IntelliJ IDEA使用运行/调试配置

特定于VCS的程序

IntelliJ IDEA语言和特定框架指南

IntelliJ IDEA的数据库和SQL功能

IntelliJ IDEA使用之JavaServer Faces(JSF)

IntelliJ IDEA:分析PHP应用程序的性能

IntelliJ IDEA:调试PHP应用程序

IntelliJ IDEA:适用于PHP的Google App Engine

IntelliJ IDEA更多内容

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }