- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
在我的分支A:
我从 folder04/config.xml
复制一个文件到 folder05/config.xml
,然后 git add
和 commit
.
在我的分支B中(B是从A分支出来的):
我已经有一个名为 folder05/config.xml
的文件。
现在我将 branchA
merge 到 branchB
中,出现了这样一个奇怪的冲突。
Untracked files: (use "git add <file>..." to include in what will be
committed)
folder05/config.xml~HEAD
它生成一个名为config.xml~HEAD的文件,什么意思?
我不明白为什么,在这种情况下我该怎么办?
最佳答案
It generates a file named config.xml~HEAD, what does it means?
这个文件是由 git
自动生成的,因为你有一个文件名冲突冲突 - 你有两个在两个分支中不相关的项目试图占用名称 config.xml
.
这可能是由多种情况引起的:
很可能,您在分支中创建了名为 config.xml
的文件。在您要 merge 的分支中,一个不同的文件被重命名为 config.xml
。由于这两个文件没有任何共同的祖先,因此无法 merge 。它们都应该保存在工作目录中,但作为冲突。因此,它们将都保留,但具有唯一的名称。
正在 merge 的分支中的config.xml
将作为config.xml
在磁盘上 checkout 。 您的分支 中的 config.xml
将作为 config.xml~HEAD
在磁盘上 checkout 。
这是一个例子,我们在 master
分支中添加一个名为 newname.txt
的文件,并将 file.txt
重命名为 newname.txt
在我们要 merge 的分支中。在这种情况下,将引发冲突,我们分支的内容将在工作中写入 newname.txt~HEAD
文件夹:
% git checkout -bbranch
Switched to a new branch 'branch'
% git mv file.txt newname.txt
% git commit -m"rename file -> newname"
[branch d37e379] rename file -> newname
1 file changed, 0 insertions(+), 0 deletions(-)
rename file.txt => newname.txt (100%)
% git checkout master
Switched to branch 'master'
% echo "new file" > newname.txt
% git add newname.txt
% git commit -m"added newname in master"
[master f7bd593] added newname in master
1 file changed, 1 insertion(+)
create mode 100644 newname.txt
% git merge branch
CONFLICT (rename/add): Rename file.txt->newname.txt in branch. newname.txt added in HEAD
Adding as newname.txt~HEAD instead
Automatic merge failed; fix conflicts and then commit the result.
一旦您满意地解决了冲突并提交了 merge ,您可以简单地从工作目录中删除 ~HEAD
文件。
(最后,请记住 git 不会跟踪重命名的发生,它使用试探法来检测重命名。所以这种冲突 - 在实践中 - 可能不是真的冲突因为这些文件可能真的没有被重命名。)
关于git - git merge后如何处理xxx~HEAD?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48204077/
我从我的服务器获取此 IP,例如: "/177.127.101.68:53964" "/201.80.15.100:54263" "/177.67.38.54:51309" 我需要它就像“177.12
终端抛出此错误意味着什么以及如何解决它? packet_write_wait: Connection to xxx.xxx.xxx.xxx: Broken pipe 这是今天刚刚发生的事情。正常工作一
这应该是非常简单的,但我不能让它为我的生活工作。我只是想远程连接到我的MySQL服务器。。连接方式:。运作良好,但正在尝试:。失败,并显示以下错误:。错误1130(00000):不允许主机‘xxx.x
正在尝试将坞站映像推送到私有坞站存储库。但收到如下错误:“拨号tcp:lookup xxx.xxx:没有这样的主机”。我已正确登录到存储库,并且构建成功。。以下命令用于将映像推送到私有repo:sud
这个问题已经有答案了: Android 8: Cleartext HTTP traffic not permitted (37 个回答) 已关闭 3 年前。 这是 list 文件
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: A comprehensive regex for phone number validation 什么是正
尝试将 docker 镜像推送到私有(private) docker 存储库。但出现类似错误:“dial tcp:lookup xxx.xxx.xxx.xxx: no such host”。我已正确登
我搜索了 StackOverflow,并在尝试打开引用不同项目中的 UserControl 的表单时发现了类似的问题。 我明白 To prevent possible data loss before
我收到的错误是 com.sun.xml.ws.client.ClientTransportException: HTTP transport error: java.io.IOException: H
我需要用 preg_match 检查输入,它必须是这种格式:xxx.xxx.xxx block 的数量可以变化......这些都是有效输入的例子: 001 00a.00a 0fg.001 aaa.aa
在所有构建过程完成且没有任何错误后,我遇到了失败。 我不知道为什么会出现以下错误。 即使所有测试均已成功完成,此错误仍将作业状态标记为失败。致命:来自 socaautovm1.xxx.local/19
我有一个单独托管的 Postgres 数据库,我正试图将其与我的 Phoenix 应用程序一起使用。我的 prod 配置是: config :my_app, MyApp.Repo, adapter
我尝试使用 terraform 在 Azure 中创建负载均衡器,但收到此错误: Error: creating/updating Load Balancer "lbclassic" (Resourc
Java中是否有一个类可以让您将“102203345.32”之类的数字格式化为“102.203.345,32”并返回字符串类型? 我想获得一个字符串,其中千位由“.”分隔。小数点之间用逗号“,”分隔。
大家好,我已经通过大量在线编码来获取我的 android 手机 IP 地址大多数都以结尾 if (!inetAddress.isLoopbackAddress()) {
首先,我知道 this question .由于我既没有使用 maven 也没有使用 jenkins,因此无法使用提供的解决方案。 在使用 sonar-runner 分析我的项目时,我收到以下警告:
我的脚本有些问题。它应该通过代理打开一个网站,但我总是遇到这个错误,我正在尝试使用几个代理... 它会是什么? Traceback (most recent call last): File "C
我正在使用远程数据库在 PHP 下开发 Web 应用程序,其中我有以下测试脚本: try { $dbh = new PDO('mysql:host=XXX.XXX.XXX.XXX;dbname
我正在尝试使用 php-facebook-sdk 并借助 curl Facebook API 创建广告。 我已经使用 curl 上传了我的视频,它返回了一个 ID。现在,该视频 ID 将用于添加广告,
首先,这是一个编程问题,因为我正在尝试设置与生产服务器一起运行的测试/QA 服务器。 其次,是的,我应该将其发布在 Serverfault 上,但我尝试使用三个不同的 OpenID 提供程序登录,每次
我是一名优秀的程序员,十分优秀!