git status:啥是 UU,为啥要 add/rm 修复它?
Posted
技术标签:
【中文标题】git status:啥是 UU,为啥要 add/rm 修复它?【英文标题】:git status: what is UU and why should add/rm fix it?git status:什么是 UU,为什么要 add/rm 修复它? 【发布时间】:2011-12-29 17:25:09 【问题描述】:这是此功能分支的当前状态。
最近的步骤:
-
远程开发分支分歧
获取远程开发分支
隐藏我想保留的本地功能分支的分歧变化
Rebased 来自本地开发分支的功能分支
隐藏弹出功能分支更改
存储应用功能分支更改
结果:
$ git status
# On branch feature-foo-branch
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: foo/bar.php
# modified: foo/baz.php
#
# Unmerged paths:
# (use "git reset HEAD <file>..." to unstage)
# (use "git add/rm <file>..." as appropriate to mark resolution)
#
# both modified: foo/conflict.php
#
和-s
的状态
$ git status -s
UU foo/conflict.php
M foo/bar.php
M foo/baz/php
git 建议使用add
或rm
来解决冲突。 UU
是什么意思,为什么这些选项可以解决它?
我能找到的关于解决与此类似的冲突的所有信息都说不要使用rm
,这让我想知道为什么 git 认为它是合适的。
我在 git 手册页中找不到任何关于 UU
的信息,但有这个 SO question 似乎也无法弄清楚为什么 add
在这种情况下会起作用。
【问题讨论】:
另见new Git 2.31 (Q1 2021) documentation 【参考方案1】:见git status
手册:
在短格式中,每条路径的状态显示为 XY PATH1 -> PATH2
对于存在合并冲突的路径,X 和 Y 显示合并每一侧的修改状态。对于没有合并冲突的路径,X 显示索引的状态,Y 显示工作树的状态。对于未跟踪的路径,XY 是 ??
U = 已更新但未合并
所以UU的意思是:未合并,都修改了
我认为 add 或 rm 消息是未合并状态的通用消息,其中状态可以像 unmerged, both deleted
、unmerged, deleted by them
等等,因此建议 rm
。这就是为什么建议中有as appropriate
。
【讨论】:
以上是关于git status:啥是 UU,为啥要 add/rm 修复它?的主要内容,如果未能解决你的问题,请参考以下文章
git 命令 git status add rm commit mv
20180616_Git???????????????1(init???status???add ??? commit)
为啥有人应该在 git commit 之前使用 git add?或者为啥有人应该使用 git add 呢?
痞子衡嵌入式:第一本Git命令教程- 编辑(status/add/rm/mv)
GIT03_初始化init查看状态status添加add删除rmcommit提交历史版本reflog忽略文件gitignore