git 怎样查找未合并的文件?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git 怎样查找未合并的文件?相关的知识,希望对你有一定的参考价值。

提交的时候提示有未合并的文件,但我怎么知道是哪些文件呢?
有没有什么命令可以查找的?

参考技术A 使用git status 可以查看unmerged files 参考技术B 回答

分支就是暂时从主线代码离开,去专注于开发一个新特性或者解决一个小 bug,git 创建和切换分支都能在瞬间完成,默认的 git 仓库,输入 git branch 可以看到只有一个 master 分支,通常这就是主分支。

wangbo@wangbo-VirtualBox:~/test/git-demo$ git branch* master

假设现在需要开发一个打印的新特功能,分支名称为 feature_print,从 master 分支离开去新的分支有几个写法:1. git branch feature_print(或 git branch feature_print master ) && git checkout feature_print(或 git switch feature_print)2. git checkout -b feature_print(或 git checkout -b feature_print master)3. git switch -c feature_print (或 git switch -c feature_print master)其中 git switch 是新版本的 git 命令,以前的章节讲过 git checkout 用来恢复文件,checkout 本身是签

git ls-files包含三次未合并的文件

例如:

$ git status
On branch master
You have unmerged paths.
  (fix conflicts and run "git commit")
  (use "git merge --abort" to abort the merge)

Unmerged paths:
  (use "git add <file>..." to mark resolution)

    both modified:   test.txt
$ git ls-files
test.txt
test.txt
test.txt

是否有办法使它仅列出一次此类文件?我只需要文件名。

答案

发生冲突时会发生这种情况。它们每个都是文件的不同版本。检查:

git ls-files -s

git help read-tree,关于3向合并]的部分>。对您来说重要的是:...and you will end up with an index with all of the <tree1> entries in "stage1", all of the <tree2> entries in "stage2" and all of the <tree3> entries in "stage3". When performing a merge of another branch into the current branch, we use the common ancestor tree as <tree1>, the current branch head as <tree2>, and the other branch head as <tree3>

另一答案

是否有办法使它仅列出一次此类文件?

以上是关于git 怎样查找未合并的文件?的主要内容,如果未能解决你的问题,请参考以下文章

VBA怎样取到查找到的单元格位置

git怎么查找一个文件两个commit id之间的log信息

Git说文件未合并,我无法提交,但文件似乎已合并

未更改的文件上的 Git 合并冲突

git 怎样将分支上的一个单文件合并到主分支上(master)

git---怎样将分支上的一个单文件合并到主分支上(master)