草庐IT

mro_merge

全部标签

git命令:多人合作开发,子分支与主分支merge

子分支merge到主分支1、从公共分支(主分支)拉取代码,并创建自己的分支mybranchgitcheckoutmasterbranch                   切换到公共分支上gitpull                                    拉取公共分支代码更新为最新的代码gitcheckout-bmybranch                    创建自己的分支mybranch,此时已经切换到mybranch分支2、代码先推到自己的分支上(在xxx/xx/xx/xxx.java开发完新代码后)gitaddxxx/xx/xx/xxx.java或gitadd

git - Gerrit Change 状态为 :Submitted, Merge Pending,如何解决?

Gerrit系统只有我们几个人在用。一旦有变更A,其状态为:“已提交,merge待处理”。“打开”网页中的更改列表。我还注意到此更改依赖于另一个更改B(状态已放弃)。如何让A列在“Merged”网页上?如何让B消失,让A不再依赖B? 最佳答案 如果更改A对B有依赖性,则在mergeB之前不能mergeA。由于你已经放弃了B,Gerrit不会自动mergeA。您需要做的是修改A(可能使用gitrebase),使其不再依赖于B,然后将更改重新提交给Gerrit。 关于git-GerritCh

git - Gerrit Change 状态为 :Submitted, Merge Pending,如何解决?

Gerrit系统只有我们几个人在用。一旦有变更A,其状态为:“已提交,merge待处理”。“打开”网页中的更改列表。我还注意到此更改依赖于另一个更改B(状态已放弃)。如何让A列在“Merged”网页上?如何让B消失,让A不再依赖B? 最佳答案 如果更改A对B有依赖性,则在mergeB之前不能mergeA。由于你已经放弃了B,Gerrit不会自动mergeA。您需要做的是修改A(可能使用gitrebase),使其不再依赖于B,然后将更改重新提交给Gerrit。 关于git-GerritCh

git - 如何 merge 单个提交?

有时我同时与多个分支机构合作。假设我有名为master、release-1.1和experimental的分支。我创建了一个新文件或在实验中进行了更改,我希望将这一更改应用到其他分支。我可以在git中做这个吗?如果我只是将提交merge到另一个分支,git会自动“快进”并包含其间的任何提交。但是必须有一些方法来处理这个用例。 最佳答案 你想做的叫做cherrypicking.您可以使用以下命令挑选单个提交:$gitcherry-pick这会将来自该提交的更改仅merge到您当前的分支中。但是请注意,这会创建一个新提交;这个新提交与精

git - 如何 merge 单个提交?

有时我同时与多个分支机构合作。假设我有名为master、release-1.1和experimental的分支。我创建了一个新文件或在实验中进行了更改,我希望将这一更改应用到其他分支。我可以在git中做这个吗?如果我只是将提交merge到另一个分支,git会自动“快进”并包含其间的任何提交。但是必须有一些方法来处理这个用例。 最佳答案 你想做的叫做cherrypicking.您可以使用以下命令挑选单个提交:$gitcherry-pick这会将来自该提交的更改仅merge到您当前的分支中。但是请注意,这会创建一个新提交;这个新提交与精

git - 为什么我有时会看到 "Entry ' 文件名不是最新的。无法 merge ."after a ' git reset --hard' 和 'git pull' 吗?

偶尔,当我执行以下操作时...gitreset--hardHEADisnowat0123abdecommentisheregitpullUpdating0123abde..456789fa我收到错误...error:Entry'filename'notuptodate.Cannotmerge.我发现的唯一解决方法是“gitreset--hard”,删除有问题的文件,然后执行“gitpull”。这对我来说似乎不对。硬重置不应该删除任何和所有本地更改,从而允许我在没有任何merge问题的情况下提取最新版本吗?我用错了吗?:)这是在CI机器上进行的,因此这里的任何更改都是不需要的。我在Win

git - 为什么我有时会看到 "Entry ' 文件名不是最新的。无法 merge ."after a ' git reset --hard' 和 'git pull' 吗?

偶尔,当我执行以下操作时...gitreset--hardHEADisnowat0123abdecommentisheregitpullUpdating0123abde..456789fa我收到错误...error:Entry'filename'notuptodate.Cannotmerge.我发现的唯一解决方法是“gitreset--hard”,删除有问题的文件,然后执行“gitpull”。这对我来说似乎不对。硬重置不应该删除任何和所有本地更改,从而允许我在没有任何merge问题的情况下提取最新版本吗?我用错了吗?:)这是在CI机器上进行的,因此这里的任何更改都是不需要的。我在Win

git - 如何在git中找到最后一次 merge ?

对于一个网站,我有master和staging,我在staging上工作了大约10天。我如何确定自上次merge以来发生了什么变化,或者那次merge是什么时候发生的?我完成的大部分merge最终都是FF,所以我无法像gitmergebranch-m'mergingstaging'那样记录它们(git报告它忽略了-m)。我通常先将mastermerge到staging中进行测试,然后再将stagingmerge到master中以进行更多测试和部署。我可以标记每一个,但我担心这样做会造成merge的困惑。我想知道的是“大致上,自从我上次将stagingmerge到master之后发生了什

git - 如何在git中找到最后一次 merge ?

对于一个网站,我有master和staging,我在staging上工作了大约10天。我如何确定自上次merge以来发生了什么变化,或者那次merge是什么时候发生的?我完成的大部分merge最终都是FF,所以我无法像gitmergebranch-m'mergingstaging'那样记录它们(git报告它忽略了-m)。我通常先将mastermerge到staging中进行测试,然后再将stagingmerge到master中以进行更多测试和部署。我可以标记每一个,但我担心这样做会造成merge的困惑。我想知道的是“大致上,自从我上次将stagingmerge到master之后发生了什

git - 将 master 压缩并 merge 到同一个分支

有没有办法将master压缩并merge到同一个分支中?有效地获取所有待处理的提交并将它们放入1个提交中?我最初的想法是一个脚本,它接受my-branch并执行gitcheckoutmaster&&gitpull&&gitcheckoutmy-branch-squashed然后gitmerge--squashmy-branch(处理任何merge冲突),然后最后删除my-branch并将my-branch-squash重命名为我的分支这看起来很迂回而且可能很糟糕,所以我想看看是否还有其他方法。我试图解决的意图是,当我将分支放在github上并将它们“压缩并merge”到master中时