如何找出进行中的合并的上级修订?

罗曼·斯塔科夫(Roman Starkov)

我已经开始进行合并,但是已经解决了一些冲突,现在所有阶段都可以提交了。我只想仔细检查一下我合并了哪些父修订版。

到目前为止,尝试过的事情:

  • git show 使用%P格式说明符-除非我无法弄清楚如何告诉未提交合并的父母
  • git rev-list 有各种选择,无济于事
  • 搜寻与git等效的git hg parents,这使我回到git rev-list但没有成功:它列出了五个修订版本,但未列出我实际传递给的修订版本git merge <rev>
  • git commit 并查看提交消息

最后一个是真正可行的唯一选择,只是它只显示了我未提交合并的父项之一。

有比git commit更好的方法如何正确执行此操作?

jub0bs

请注意,由于合并提交尚不存在,因此您将无法使用git loggit show%P格式说明符(对应于父哈希)一起使用该将来的合并提交的父项。

简单的去

如果将一个分支简单合并到另一个分支,则可以运行

git log -n 1 --pretty=format:"%H"
git log -n 1 --pretty=format:"%H" MERGE_HEAD

它将打印完整的SHA

  • 当前分支的尖端,以及
  • 被合并的分支

分别。

章鱼合并

如果在章鱼合并过程中发生任何冲突,这涉及将一个以上的分支合并到另一个分支中,则Git将中止合并。因此,您的问题通常不适用于这种情况。但是,正如安德鲁(Andrew)在其评论中指出的那样--no-commit,即使没有冲突,该标志也可以用于故意中断合并。但是,在这种情况下,

git log -n 1 --pretty=format:"%H" MERGE_HEAD

仅打印合并中一个分支的SHA 它不会列出所有这些分支的SHA

一切都没有丢失;有一种打印所有的方法。事实证明,该.git/MERGE_HEAD文件包含要合并所有分支的SHA 因此,更可靠的方法是简单地转储该文件的内容:

cat .git/MERGE_HEAD

为了解决问题,这是一个章鱼合并中断的示例(自愿完成):

# set things up
$ mkdir test_octopuss
$ cd test_octopuss
$ git init

# create an initial commit
$ printf "foo\n" > README.md
$ git add README.md
$ git commit -m "add 'foo' in README"

# create three different commits on branches whose tips count the root commit as parent
$ printf "bar\n" >> README.md 
$ git commit -am "add 'bar' in README"
$ git checkout -b another master^
$ printf "bar\n" >> README.md 
$ git commit -am "add 'bar' in README"
$ git checkout -b yetanother master^
$ printf "bar\n" >> README.md 
$ git commit -am "add 'bar' in README"

# get our bearings
$ git log --oneline --graph --all --decorate
* 93e4667 (HEAD, yetanother) add 'bar' in README
| * a114920 (another) add 'bar' in README
|/  
| * 7adc927 (master) add 'bar' in README
|/  
* bc400cd add 'foo' in README

# merge using the --no-commit flag (to pretend that the merge failed)
$ git merge --no-commit master another
Trying simple merge with master
Trying simple merge with another
Automatic merge went well; stopped before committing as requested

# the following command fails to list all the heads being merged in
$ git log -n 1 --pretty=format:"%H" MERGE_HEAD
7adc927d9f7a0c8864d0ff784c0c53b0ded00616

# list of all the heads being merged in the current branch
$ cat .git/MERGE_HEAD
7adc927d9f7a0c8864d0ff784c0c53b0ded00616
a114920072210417a1fa6c9b2b33b5729097ee93

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在进行中反转切片?

来自分类Dev

在MVC4中运行FileResult函数时如何显示“进行中”

来自分类Dev

如何检测语音识别正在进行中

来自分类Dev

错误:摘要已在进行中

来自分类Dev

如何通过MigLayout进行中间对齐

来自分类Dev

如何找出进程正在使用哪个端口号

来自分类Dev

在Unix中如何找出进程是否正在运行并返回true / false?

来自分类Dev

反转进行中的CSS动画

来自分类Dev

调试$ digest已经进行中错误

来自分类Dev

如何在滑块中获取图像以覆盖进行中的div?

来自分类Dev

($ rootScope:inprog)$ apply已在进行中

来自分类Dev

如何对在线Google Excel中的数据进行中间处理?

来自分类Dev

如何导出进行中的XML文件4gl?

来自分类Dev

在Azure Boards中,如何使用仍在进行中的子项查询已完成的工作项?

来自分类Dev

如何在sql中对数据输出进行表示?

来自分类Dev

以特定顺序合并文件夹中的所有文档,并对合并后的输出进行排序

来自分类Dev

如何进行选择查询进行中openge程序编辑器

来自分类Dev

如何通过MigLayout进行中间对齐

来自分类Dev

如何找出进程正在哪个文件夹中运行?

来自分类Dev

U-boot进行中错误

来自分类Dev

PHP OOP帮助-进行中

来自分类Dev

取消其他进行中的通知

来自分类Dev

如何在R中对SessionInfo()的输出进行排序?

来自分类Dev

InvalidOperationException:操作已在进行中

来自分类Dev

如何在Django中对模型输出进行排序?

来自分类Dev

如何检查corona sdk中的功能是否正在进行中

来自分类Dev

如何在bash中对列表中的输出进行编号?

来自分类Dev

如何在脚本中对 find 命令的输出进行排序

来自分类Dev

动态功能进行中

Related 相关文章

热门标签

归档