codecamp

解决Subversion版本控制下的文本冲突

解决Subversion版本控制的文本冲突

如果在Subversion版本控制下的文件中发生冲突,则将冲突标记添加到冲突文件中,并在本地工作副本中创建三个辅助的未版本化文件:

  • filename.mine:没有冲突标记的本地文件副本。
  • filename.rOld:您上次同步的基本版本。
  • filename.rNew:服务器上的最新版本。

版本控制工具窗口的“本地更改(Local Changes)”选项卡中的冲突文件用红色标记。在“更新信息(Update Info)”选项卡中,它们被分组在“合并冲突(Merged with conflicts)”列表中,并且也用红色标记。

使用IntelliJ IDEA,您可以通过两种方式解决冲突:

  • 半自动,使用合并工具。
  • 在编辑器中手动。之后,您需要手动将已处理的文件标记为无冲突。

使用合并工具解决文本冲突

  1. 在版本控制工具窗口的“本地更改”选项卡中,选择冲突的文件:
    Subversion
  2. 在主VCS菜单或选择的上下文菜单上,选择:Subversion | 解决文本冲突(Subversion | Resolve Text Conflict)。出现“文件合并冲突(Files Merged with Conflicts)”对话框。
  3. 如果您要接受服务器版本并覆盖您的本地更改,请单击“接受他们(Accept Theirs)”。如果要强制更改存储库,请单击“接受你的(Accept Yours)”。点击“合并(Merge)”打开合并工具,您可以单独接受或放弃每个更改。因此,该文件被自动标记为已解决,并且辅助文件被删除。您可以单击列标题按名称对冲突的文件进行排序。
  4. 冲突成功解决后,将本地版本提交到存储库。

手动解决文本冲突

在编辑器中打开冲突的文件,然后执行以下操作之一:

  • 根据需要编辑冲突标记内的内容。
  • 将其中一个辅助文件复制到工作文件的顶部。

将文件标记为已解决

  1. 执行以下操作之一:
    • 在“项目”树或“版本控制”工具窗口的“本地更改”选项卡中选择该文件,然后选择“Subversion”,然后在选择的上下文菜单上选择“标记已解决(Mark Resolved)”。
    • 在编辑器中打开冲突文件后,在编辑器选项卡的任何位置右键单击鼠标。在上下文菜单中选择:Subversion,然后选择“标记已解决(Mark Resolved)”。
    • 在主菜单上,选择:VCS | Subversion | 标记已解决(VCS | Subversion | Mark Resolved)。
  2. 在打开的“标记已解决(Mark Resolved)”对话框中,选择相关文件。
  3. 点击“标记已解决(Mark Resolved)”按钮。
Subversion集成锁定和解锁文件和文件夹
Subversion共享目录
温馨提示
下载编程狮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; }