javascript

java

python

c#

android

c++

node.js

php

reactjs

jquery

html

css

ios

.net

git

ruby-on-rails

sql

c

string

ruby

git-意外地从错误的分支分支出来,当我想合并到master时,我必须合并两个分支

因此,我从已经创建的另一个分支中创建了一个分支,现在当我尝试将这些分支合并到master中时,遇到了必须合并两个分支的情况。

这是一个图

大师->

 ->Branch 1  -> Branch 2

我希望能够只将分支2上的更改合并到master上,而不必合并分支1上的更改。 我查看了重置和还原,但似乎这些事情将删除我对分支2所做的所有更改。

谢谢

trans by 2020-07-09T13:15:19Z

svn-如何更正“提交失败。文件xxx已过期。找不到xxx路径。”

最近,我在提交有关Subversion中合并结果的问题时遇到了一个特别棘手的问题。 我们的Subversion服务器是@ 1.5.0,而我的TortoiseSVN客户端现在是@ 1.6.1。

我正在尝试将功能分支合并回我的主干。 合并似乎可以正常进行; 但是,提交失败并显示以下错误消息。

Commit failed (details follow):
File 
'flex/src/com/penbay/invision/portal/services/http/soap/ReportServices/GetAllBldgsParamsByRegionBySiteResultEvent.as' 
is out of date
'/svn/ibis/!svn/wrk/531d459d-80fa-ea46-bfb4-940d79ee6d2e/visualization/trunk/source/flex/src/com/penbay/invision/portal/services/http/soap/ReportServices/GetAllBldgsParamsByRegionBySiteResultEvent.as' 
path not found
You have to update your working copy first.

我的工作箱是最新的。 我什至将一个新文件夹签出到另一个文件夹中,以确保合并后不会在本地产生混乱。 我对此进行了更多研究,我认为部分问题是用户错误。 我认为我们的问题是:

  1. 我们有一些开发人员在1.5之前和之后的某个Subversion客户端中进行工作。 我相信这有可能破坏合并信息。
  2. 在其他分支中,我们执行了部分合并。 也就是说,我们并不总是在分支的根目录执行合并。 这是为了促进在同一分支中更新Flex和.NET的工作。
  3. 我们在分支上执行了循环(自反)合并。 这样做是因为我们有多个并行分支,并且我们希望使用主干中的最新代码定期更新分支。

Subversion书籍/团队显然不建议所有这些内容。 我们已经吸取了教训,现在知道了最佳实践。 但是,我们首先需要合并并提交我们的最新分支。

纠正我们遇到的问题的最佳方法是什么?

删除主干和分支中的所有合并信息是否可行?否。我已经这样做了,但是并不能解决我遇到的错误。

trans by 2020-07-08T16:50:39Z

根据R中的行名合并数据帧

如何合并两个数据框的列,其中包含一组不同的列,但有些行具有相同的名称? 在两个数据框中都没有出现的行的字段应该用零填充:

> d
    a   b   c   d   e   f   g   h   i  j
1 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10
2 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9  1
> e
   k  l  m  n  o  p  q  r  s  t
1 11 12 13 14 15 16 17 18 19 20
3 21 22 23 24 25 26 27 28 29 30
> de
    a   b   c   d   e   f   g   h   i  j  k  l  m  n  o  p  q  r  s  t
1 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10 11 12 13 14 15 16 17 18 19 20
2 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9  1  0  0  0  0  0  0  0  0  0  0
3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0  0 21 22 23 24 25 26 27 28 29 30
trans by 2020-07-03T22:03:45Z

svn-如何撤消合并(不提交)?

我只是做了一个svn merge将合并的更改从主干到分支:

$ svn merge -r328:HEAD file:///home/user/svn/repos/proj/trunk .
--- Merging r388 through r500 into '.':
A    foo
A    bar
   C baz1
   C baz2
U    duh
[...]

但是有太多的冲突,所以我想撤销它。

一种方法是提交然后合并回去。 但是由于冲突我不能承诺。 在这种情况下撤消的最佳方法是什么?

trans by 2020-07-03T00:10:02Z

版本控制-git merge origin / master和git pu之间的区别

我正在“ BDD-local”本地分支上工作,并希望从其他开发人员那里获得更改。其他开发人员正在使用他们自己的分支,对单元测试满意后,便将更改推送到远程仓库(源/主服务器)。

我在这里浏览了几篇文章,并得到了相互矛盾的信息。很少有人谈论使用:

git fetch origin
git merge origin/master

还有一些人认为,“ git pull”应该得到改变。

我们的一位开发人员要求在不使用“ git fetch”的情况下使用“ git merge origin / master”

有谁知道这些选项中哪个更好。 我在本地分支上尝试了“ git pull”,但似乎没有用。 但是,如果我在本地master上执行“ git pull”,则可以正常工作(但是我希望它可以在本地分支机构工作)

trans by 2020-07-02T12:29:38Z

r-按行名合并或合并

在下面的示例中,我有两个数据集(Z和A)。 我想通过ILMN编号合并或组合这些集合。 如果不匹配,请填写NA。

z <- matrix(c(0,0,1,1,0,0,1,1,0,0,0,0,1,0,1,1,0,1,1,1,1,0,0,0,"RND1","WDR", "PLAC8","TYBSA","GRA","TAF"), nrow=6,
    dimnames=list(c("ILMN_1651838","ILMN_1652371","ILMN_1652464","ILMN_1652952","ILMN_1653026","ILMN_1653103"),c("A","B","C","D","symbol")))

t<-matrix(c("GO:0002009", 8, 342, 1, 0.07, 0.679, 0, 0, 1, 0, 
        "GO:0030334", 6, 343, 1, 0.07, 0.065, 0, 0, 1, 0,
        "GO:0015674", 7, 350, 1, 0.07, 0.065, 1, 0, 0, 0), nrow=10, dimnames= list(c("GO.ID","LEVEL","Annotated","Significant","Expected","resultFisher","ILMN_1652464","ILMN_1651838","ILMN_1711311","ILMN_1653026")))

结果将是这样的:

             [,1]         [,2]         [,3]         [,4]
GO.ID        "GO:0002009" "GO:0030334" "GO:0015674"  NA
LEVEL        "8"          "6"          "7"           NA
Annotated    "342"        "343"        "350"         NA
Significant  "1"          "1"          "1"           NA
Expected     "0.07"       "0.07"       "0.07"        NA
resultFisher "0.679"      "0.065"      "0.065"       NA
ILMN_1652464 "0"          "0"          "1"           PLAC8
ILMN_1651838 "0"          "0"          "0"           RND1
ILMN_1711311 "1"          "1"          "0"           NA
ILMN_1653026 "0"          "0"          "0"           GRA
trans by 2020-06-30T00:28:03Z

git-提交消息中的Change-Id丢失时出现Gerrit错误

我在远程存储库中设置了一个分支,并对该分支进行了一些提交。现在,我想将远程分支合并到远程主服务器。

基本上是我的操作:

  1. 结帐分支
  2. 结帐大师
  3. 合并分支并修复合并错误
  4. 承诺
  5. 推送原点HEAD:refs / for / master

但是,请在第5步获取错误消息:

remote: Resolving deltas:   0% (0/12)

remote: ERROR: missing Change-Id in commit message
...

remote: Change-Id: I55862204ef71f69bc88c79fe2259f7cb8365699a

To ssh://prc@test.gerrit.xxx.com:29418/hello_git
 ! [remote rejected] HEAD -> refs/for/master (missing Change-Id in commit message)
trans by 2020-06-21T20:52:54Z

合并-Git:防止在master分支中提交

(为简单起见),我的Git-repo中有master分支和--no-ff。我想确保dev分支始终正常工作,所以我所做的所有工作都应该在dev分支中。

但是,当我将更改与master合并在一起时,我倾向于留在--no-ff分支中,然后继续工作(因为我忘记签出dev分支)。

我可以为master分支建立一条规则,该规则指出我无法进行提交,并且不能进行快速合并,但是只有--no-ff从另一个分支进行合并?

这必须适用于私有托管存储库(ergo不适用于GitHub和BitBucket)。

trans by 2020-02-22T02:43:16Z

Ruby:合并嵌套哈希

我想合并一个嵌套的哈希。

a = {:book=>
    [{:title=>"Hamlet",
      :author=>"William Shakespeare"
      }]}

b = {:book=>
    [{:title=>"Pride and Prejudice",
      :author=>"Jane Austen"
      }]}

我希望合并是:

{:book=>
   [{:title=>"Hamlet",
      :author=>"William Shakespeare"},
    {:title=>"Pride and Prejudice",
      :author=>"Jane Austen"}]}

做到这一点的最佳方法是什么?

trans by 2020-02-20T16:03:44Z

合并-如何在git中备份私有分支

我在git中有一个本地分支机构,负责日常开发工作。 我的工作流程是:

  1. 在本地分支上做东西,提交
  2. 获取来源/母版
  3. 调整本地分支机构的基础,以赶上起源/母公司的新事物

一切正常,但是我遇到的大多数建议都说,不应“推”私有分支,定期在此分支上执行基础。

这里的问题是,在这种情况下,本地分支不会备份到服务器,并且保存工作的唯一方法是将其合并回“可推送”分支(即origin / master)

在这种情况下,您对工作流程有何建议?

谢谢!

更新:我意识到我原来的要求之一(避免使用外部实用程序)是不必要的限制。

我当前的解决方案是将我所有的存储库都存储在一个云同步文件夹中,这样我就可以免费获得备份。

trans by 2020-02-16T17:35:16Z

r-如何执行data.table合并操作

注意:这个问题和以下答案是指data.table版本<1.5.3; 1.5.3版于2011年2月发布,以解决此问题。 查看更多近期处理(03-2012):将外键上的SQL联接转换为R data.table语法


我一直在仔细阅读data.table软件包的文档(替代data.frame,对于某些操作而言效率更高),包括Josh Reich在NYC R Meetup(pdf)上有关SQL和data.table的演示,但是 无法弄清楚这种完全琐碎的操作。

> x <- DT(a=1:3, b=2:4, key='a')
> x
     a b
[1,] 1 2
[2,] 2 3
[3,] 3 4
> y <- DT(a=1:3, c=c('a','b','c'), key='a')
> y
     a c
[1,] 1 a
[2,] 2 b
[3,] 3 c
> x[y]
     a b
[1,] 1 2
[2,] 2 3
[3,] 3 4
> merge(x,y)
  a b c
1 1 2 a
2 2 3 b
3 3 4 c

文档说:“ [[第一个参数]本身是data.table时,将类似于base :: merge调用联接,但对已排序的键使用二进制搜索。” 显然并非如此。 我可以使用data.tables将y中的其他列获取到x [y]的结果中吗? 似乎只是将x的行与键与y的键匹配,而完全忽略了y的其余部分...

trans by 2020-02-14T08:35:59Z

r-data.frames列表的快速向量化合并

关于在SO列表中合并data.frame的大多数问题与我试图在这里理解的内容并没有太大关系,但是可以随时证明我错了。

我有一个data.frames列表。 我想将行“绑定”到另一个data.frame中。 本质上,所有第一行构成一个data.frame,第二行构成第二data.frame,依此类推。结果将是与我的原始data.frame(s)中的行数相同长度的列表。 到目前为止,data.frame的尺寸相同。

这是一些需要处理的数据。

sample.list <- list(data.frame(x = sample(1:100, 10), y = sample(1:100, 10), capt = sample(0:1, 10, replace = TRUE)),
        data.frame(x = sample(1:100, 10), y = sample(1:100, 10), capt = sample(0:1, 10, replace = TRUE)),
        data.frame(x = sample(1:100, 10), y = sample(1:100, 10), capt = sample(0:1, 10, replace = TRUE)),
        data.frame(x = sample(1:100, 10), y = sample(1:100, 10), capt = sample(0:1, 10, replace = TRUE)),
        data.frame(x = sample(1:100, 10), y = sample(1:100, 10), capt = sample(0:1, 10, replace = TRUE)),
        data.frame(x = sample(1:100, 10), y = sample(1:100, 10), capt = sample(0:1, 10, replace = TRUE)),
        data.frame(x = sample(1:100, 10), y = sample(1:100, 10), capt = sample(0:1, 10, replace = TRUE)))

这就是我想出的好的ol'for循环。

#solution 1
my.list <- vector("list", nrow(sample.list[[1]]))
for (i in 1:nrow(sample.list[[1]])) {
    for (j in 1:length(sample.list)) {
        my.list[[i]] <- rbind(my.list[[i]], sample.list[[j]][i, ])
    }
}

#solution 2 (so far my favorite)
sample.list2 <- do.call("rbind", sample.list)
my.list2 <- vector("list", nrow(sample.list[[1]]))

for (i in 1:nrow(sample.list[[1]])) {
    my.list2[[i]] <- sample.list2[seq(from = i, to = nrow(sample.list2), by = nrow(sample.list[[1]])), ]
}

使用向量化可以在不费吹灰之力的情况下加以改善吗? 当然,正确的答案将包含一段代码。 回答“是”不算在内。

编辑

#solution 3 (a variant of solution 2 above)
ind <- rep(1:nrow(sample.list[[1]]), times = length(sample.list))
my.list3 <- split(x = sample.list2, f = ind)

基准测试

我使列表更大,每个data.frame有更多行。 我对结果进行了基准测试,如下所示:

#solution 1
system.time(for (i in 1:nrow(sample.list[[1]])) {
    for (j in 1:length(sample.list)) {
        my.list[[i]] <- rbind(my.list[[i]], sample.list[[j]][i, ])
    }
})
   user  system elapsed 
 80.989   0.004  81.210 

# solution 2
system.time(for (i in 1:nrow(sample.list[[1]])) {
    my.list2[[i]] <- sample.list2[seq(from = i, to = nrow(sample.list2), by = nrow(sample.list[[1]])), ]
})
   user  system elapsed 
  0.957   0.160   1.126 

# solution 3
system.time(split(x = sample.list2, f = ind))
   user  system elapsed 
  1.104   0.204   1.332 

# solution Gabor
system.time(lapply(1:nr, bind.ith.rows))
   user  system elapsed 
  0.484   0.000   0.485 

# solution ncray
system.time(alply(do.call("cbind",sample.list), 1,
                .fun=matrix, ncol=ncol(sample.list[[1]]), byrow=TRUE,
                dimnames=list(1:length(sample.list),names(sample.list[[1]]))))
   user  system elapsed 
 11.296   0.016  11.365
trans by 2020-02-12T07:29:46Z

svn-v1.6中的Subversion分支重新集成

这个问题已经在这里有了答案:

  • 颠覆分支重新整合                                     10个答案

对于这个古老的问题,使用SVN 1.5,多次重新集成分支是有问题的,应避免使用。

有人大声疾呼说:“这是一个已知问题,应在SVN 1.6中修复。” 是这样吗 是固定的吗? 我可以多次整合吗?

trans by 2020-02-11T04:06:36Z

显示先前的git合并中涉及的提交

假设我从develop分支创建了hotfix分支,进行两次提交,将其合并回到develop分支,并销毁hotfix分支。

我如何找出哪些提交是合并的一部分? 那可能吗?

trans by 2020-02-11T00:52:22Z

emacs-使用ediff作为git merge

我希望能够将ediff与“ git mergetool”一起使用。

我发现一些补丁可以更改源代码,而我不想这样做。 相反,我想在.gitconfig中添加ediff支持。

我知道git已经内置了对emerge的支持,但是我更喜欢ediff。

我试图将这些行添加到我的.gitconfig中:

[mergetool "ediff"]
    cmd = emacs --eval "(ediff-merge-files-with-ancestor \"$LOCAL\" \"$REMOTE\" \"$BASE\" nil \"$MERGED\")"

但是,当我尝试使用“ git mergetool --tool = ediff”运行它时,我得到了:

eval: 1: Syntax error: "(" unexpected

我究竟做错了什么?

trans by 2020-02-06T06:09:19Z

使用merge()函数仅左连接R中的选定列

我正在尝试左连接2个数据框,但我不想连接第二个数据集中的所有变量:

例如,我有数据集1(DF1):

  Cl    Q   Sales  Date
   A    2   30     01/01/2014
   A    3   24     02/01/2014
   A    1   10     03/01/2014
   B    4   10     01/01/2014
   B    1   20     02/01/2014
   B    3   30     03/01/2014

我想离开联接数据集2(DF2):

Client  LO  CON
   A    12  CA
   B    11  US
   C    12  UK
   D    10  CA
   E    15  AUS
   F    91  DD

我可以使用以下代码退出连接:

merge(x = DF1,y = DF2,by =“ Client”,all.x = TRUE):

   Client Q    Sales   Date             LO      CON
   A      2    30      01/01/2014       12      CA
   A      3    24      02/01/2014       12      CA
   A      1    10      03/01/2014       12      CA
   B      4    10      01/01/2014       11      US
   B      1    20      02/01/2014       11      US
   B      3    30      03/01/2014       11      US

但是,它合并了LO和CON列。 我只想合并列LO。

   Client Q    Sales   Date             LO      
   A      2    30      01/01/2014       12      
   A      3    24      02/01/2014       12      
   A      1    10      03/01/2014       12      
   B      4    10      01/01/2014       11      
   B      1    20      02/01/2014       11     
   B      3    30      03/01/2014       11      
trans by 2020-02-05T04:56:33Z

python-为什么熊猫内连接给ValueError:len(left_on)必须等于“ right”索引中的级别数?

我正在尝试将DataFrame A内部连接到DataFrame B,并且遇到错误。

这是我的加入声明:

merged = DataFrameA.join(DataFrameB, on=['Code','Date'])

这是错误:

ValueError: len(left_on) must equal the number of levels in the index of "right"

我不确定列顺序是否很重要(它们不是真正的“顺序”吗?),但以防万一,DataFrame的组织方式如下:

DataFrameA:  Code, Date, ColA, ColB, ColC, ..., ColG, ColH (shape: 80514, 8 - no index)
DataFrameB:  Date, Code, Col1, Col2, Col3, ..., Col15, Col16 (shape: 859, 16 - no index)

我需要更正我的加入声明吗? 还是有另一种更好的方法来获取这两个DataFrame的交集(或内部联接)?

trans by 2020-01-26T23:16:42Z

SVN-无法将分支合并回主干-大量树冲突

我有一个简单的场景-使用TortoiseSVN:

1)我创建了一个应用程序分支(B2)(用于实现图像精灵和JAWR)。

2)测试和开发正常进行。

3)在过去的几天中,我通过以下方式重新建立了分支机构几次:

3.1)将主干(按修订范围)合并到我的branch-b2工作副本中,从而解决了合并期间的冲突。

3.2)(在测试了b2分支之后),我提交了基于re-b2的分支。

这一切都按我的预期进行。 但是将分支合并回主干的过程与我一样:

4)在分支b2中提交所有更新之后; 我确保在中继和branch-b2上执行SVN更新。

5)然后,我尝试将分支b2中的(修订范围)合并到主干中。 但是,对于任何已经添加到主干,然后在我重新设置其基础时又添加到branch-b2的新文件,都会遇到树冲突。 我不确定解决这些冲突的正确方法是什么。

我见过的最典型的建议是从主干中删除树冲突文件,然后合并分支。 或删除整个中继,将分支文件复制过来,然后在中继中将它们作为新版本提交。 这些选项都不是一个好主意-第一个选项很痛苦,而且似乎都将丢失文件修订历史。

我做错了什么,该如何解决?

trans by 2020-01-19T22:16:19Z

git rebase交互式:南瓜合并在一起提交

我希望有一个简单的解决方案,可以在交互式变基期间将两个合并提交压缩在一起。

我的存储库如下所示:

   X --- Y --------- M1 -------- M2 (my-feature)
  /                 /           /
 /                 /           /
a --- b --- c --- d --- e --- f (stable)

也就是说,我有一个my-feature分支,该分支最近被合并了两次,之间没有真正的提交。 我不只是想重新构建my-feature分支,因为它是它自己的已发布分支,我只是想将最后两个合并提交压缩到一个(尚未发布这些提交)

   X --- Y ---- M (my-feature)
  /            /
 /            /
a --- ... -- f (stable)

我试过了:

git rebase -p -i M1^

但是我得到了:

Refusing to squash a merge: M2

我最后要做的是:

git checkout my-feature
git reset --soft HEAD^  # remove the last commit (M2) but keep the changes in the index
git commit -m toto      # redo the commit M2, this time it is not a merge commit
git rebase -p -i M1^    # do the rebase and squash the last commit
git diff M2 HEAD        # test the commits are the same

现在,新的合并提交不再被视为合并提交(它仅保留第一个父级)。 所以:

git reset --soft HEAD^               # get ready to modify the commit
git stash                            # put away the index
git merge -s ours --no-commit stable # regenerate merge information (the second parent)
git stash apply                      # get the index back with the real merge in it
git commit -a                        # commit your merge
git diff M2 HEAD                     # test that you have the same commit again

但是,如果我有很多提交,这会变得很复杂,您有更好的解决方案吗?谢谢。

米尔德里德

trans by 2020-01-16T23:37:19Z

如何解决与git-svn的冲突?

当执行git svn rebase,而您所在的git分支变为“(无分支)”时,解决冲突的最佳方法是什么?

trans by 2020-01-16T16:37:45Z

1 2 3 4 5 6 7 下一页 共7页