标签: merge

即使每个更改的文件都与父母之一同意,如何"git show"合并提交与组合diff输出?

在进行"简单"合并(一个没有冲突)后,git show通常只显示类似的内容

commit 0e1329e551a5700614a2a34d8101e92fd9f2cad6 (HEAD, master)
Merge: fc17405 ee2de56
Author: Tilman Vogel <email@email>
Date:   Tue Feb 22 00:27:17 2011 +0100

Merge branch 'testing' into master
Run Code Online (Sandbox Code Playgroud)

这是因为,对于合并,git show使用组合的diff格式,该格式省略了与任一父版本一致的文件.

有没有办法强制git仍然显示组合差异模式的所有差异?

git show -m将显示差异(分别使用新版本和所有父版本之间的成对差异),但我更愿意在相应的列中使用+/-标记的差异,如组合模式.

git merge

175
推荐指数
6
解决办法
10万
查看次数

如何使用Git和命令行在合并期间保留本地文件或远程文件?

我知道如何使用vimdiff合并修改,但是,假设我只知道整个文件可以保留或丢弃,我该怎么做?

我不想为每个人打开vimdiff,我改变了想要一个"保持本地"或"保持远程"的命令.

EG:我与标记为已更改的文件合​​并,因为有人在Windows下打开它,更改EOL,然后提交.合并时,我想保留自己的版本并丢弃他的版本.

我也对此感兴趣:我搞砸了很长时间并希望接受远程文件,丢弃我的更改.

git merge local

175
推荐指数
4
解决办法
10万
查看次数

合并两个地图并将相同键值相加的最佳方法是什么?

val map1 = Map(1 -> 9 , 2 -> 20)
val map2 = Map(1 -> 100, 3 -> 300)
Run Code Online (Sandbox Code Playgroud)

我想合并它们,并将相同键的值相加.结果将是:

Map(2->20, 1->109, 3->300)
Run Code Online (Sandbox Code Playgroud)

现在我有2个解决方案:

val list = map1.toList ++ map2.toList
val merged = list.groupBy ( _._1) .map { case (k,v) => k -> v.map(_._2).sum }
Run Code Online (Sandbox Code Playgroud)

val merged = (map1 /: map2) { case (map, (k,v)) =>
    map + ( k -> (v + map.getOrElse(k, 0)) )
}
Run Code Online (Sandbox Code Playgroud)

但我想知道是否有更好的解决方案.

merge scala map

169
推荐指数
9
解决办法
8万
查看次数

如何使用git diff创建两个电子表格的可读差异?

我们的源代码库中有很多电子表格(xls).这些通常使用gnumeric或openoffice.org进行编辑,主要用于使用dbUnit填充数据库进行单元测试.在我知道的xls文件上没有简单的方法来做差异,这使得合并非常繁琐且容易出错.

我试图将电子表格转换为xml并进行常规差异,但它确实感觉它应该是最后的手段.

我想像git处理文本文件一样执行diffing(和合并).我怎么做,例如发行时git diff

git version-control diff merge xls

165
推荐指数
7
解决办法
16万
查看次数

重新绑定Git合并提交

采取以下案例:

我在主题分支中有一些工作,现在我已准备好合并回主人:

* eb3b733 3     [master] [origin/master]
| * b62cae6 2   [topic]
|/  
* 38abeae 1
Run Code Online (Sandbox Code Playgroud)

我从master执行合并,解决冲突,现在我有:

*   8101fe3 Merge branch 'topic'  [master]
|\  
| * b62cae6 2                     [topic]
* | eb3b733 3                     [origin/master]
|/  
* 38abeae 1
Run Code Online (Sandbox Code Playgroud)

现在,合并花了我一些时间,所以我再做一次提取并注意到远程主分支有新的变化:

*   8101fe3 Merge branch 'topic'  [master]
|\  
| * b62cae6 2                     [topic]
| | * e7affba 4                   [origin/master]
| |/  
|/|   
* | eb3b733 3
|/  
* 38abeae 1
Run Code Online (Sandbox Code Playgroud)

如果我从master中尝试'git rebase origin/master',我将被迫再次解决所有冲突,并且我也失去了合并提交:

* d4de423 2       [master]
* e7affba 4       [origin/master]
* …
Run Code Online (Sandbox Code Playgroud)

git merge rebase git-rebase git-rewrite-history

163
推荐指数
3
解决办法
8万
查看次数

pandas三向连接列上的多个数据帧

我有3个CSV文件.每个都有第一列作为人的(字符串)名称,而每个数据框中的所有其他列都是该人的属性.

如何将所有三个CSV文档"连接"在一起以创建单个CSV,每行具有该人员字符串名称的每个唯一值的所有属性?

join()pandas中的函数指定我需要一个多索引,但我对层次索引方案与基于单个索引进行连接有什么关系感到困惑.

python merge join pandas

162
推荐指数
9
解决办法
20万
查看次数

如何在没有实际合并的情况下测试合并

有没有办法模拟git merge两个分支,当前工作分支和主分支,但没有做任何更改?

当我不得不做一个时,我经常会有冲突git merge.有没有办法先模拟合并?

git merge

157
推荐指数
6
解决办法
7万
查看次数

比较两个data.frames以查找data.frame 1中不存在于data.frame 2中的行

我有以下2个data.frames:

a1 <- data.frame(a = 1:5, b=letters[1:5])
a2 <- data.frame(a = 1:3, b=letters[1:3])
Run Code Online (Sandbox Code Playgroud)

我想找到a1没有的行a1.

这种类型的操作是否有内置功能?

(ps:我确实为它编写了一个解决方案,如果有人已经制作了更加精心设计的代码,我感到很好奇)

这是我的解决方案:

a1 <- data.frame(a = 1:5, b=letters[1:5])
a2 <- data.frame(a = 1:3, b=letters[1:3])

rows.in.a1.that.are.not.in.a2  <- function(a1,a2)
{
    a1.vec <- apply(a1, 1, paste, collapse = "")
    a2.vec <- apply(a2, 1, paste, collapse = "")
    a1.without.a2.rows <- a1[!a1.vec %in% a2.vec,]
    return(a1.without.a2.rows)
}
rows.in.a1.that.are.not.in.a2(a1,a2)
Run Code Online (Sandbox Code Playgroud)

merge compare r rows dataframe

152
推荐指数
9
解决办法
27万
查看次数

为什么三向合并优于双向合并?

维基百科称3向合并不像双向合并那样容易出错,而且通常不需要用户干预.为什么会这样?

3向合并成功并且双向合并失败的示例将是有帮助的.

version-control merge conflict three-way-merge

147
推荐指数
4
解决办法
5万
查看次数

什么是Git的优秀(免费)视觉合并工具?(在窗户上)

一个类似的问题已经被问过,但对Ubuntu.

这将有助于了解该工具是否像啤酒或自由中一样是免费的.

此外,该工具的起伏也很不错.

windows git version-control merge

147
推荐指数
5
解决办法
14万
查看次数