草庐IT

Merge-Tag

全部标签

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中时

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中时

git - 如何在 git merge 中强制一个共同的祖先?

假设我有一个名为master的分支和一个名为upstream_lib的分支。分支master有一个子目录lib,它基于分支upstream_lib上的代码;upstream_lib中的更改会定期merge(使用子树策略)到master分支。master中的lib目录对其自身进行了一些修改,这些修改不在upstream_lib中。但是,假设这两个分支没有共同的历史记录(例如,因为存储库刚刚迁移到git)或者merge基础不正确,因为upstream_lib中的merge已被压缩,有一些rebase或其他什么。问题是:给定upstream_lib的一组新更改,如何强制merge将upstr