草庐IT

merge-replication

全部标签

Git: merge 和子模块

假设我在RepoX中有两个分支,分别称为BranchA和BranchB。RepoX还有一个名为SubmoduleY的子模块。BranchA的SubmoduleY版本为“abc”,BranchB的SubmoduleY版本为“def”。假设我想将BranchAmerge到BranchB中,但我想让BranchB的SubmoduleY指向其原始版本的“def”。我看到有几种方法可以做到这一点:方法一:checkoutBranchB。将SubmoduleY移至修订版“abc”,使实际merge变得轻松(我们现在不想在子模块级别进行任何merge)。提交SubmoduleY的新修订(我们不能让它

git - 如何在 GitLab 的 merge 请求中请求 CLA 签名?

我想在GPL许可下发布一个项目,但希望在接受merge请求之前先签署CLA(贡献者许可协议(protocol))。GitHub有一些自动化解决方案(ClaHub、cla-assistant),但我找不到GitLab的类似解决方案。有一个longstandingissue本地添加对它的支持,但它已在2年前打开。我知道Gitsign-off可以用于DCO,但我想知道它是否可以以某种方式(滥用)用于签署CLA协议(protocol)?简而言之,如何使签署CLA的过程对贡献者和我自己都尽可能轻松,同时仍然使协议(protocol)(在某种程度上)具有法律约束力?编辑:致投票结束的人:我检查了g

Git:有没有一种从一个分支 merge 到多个分支比串行执行每个分支更快的方法?

我的情况:我最近加入了一个已建立项目的前端,该项目涉及越来越多的Rails应用程序实例,每个实例在某些方面(View、样式、设置等)不同,但都共享他们的大部分后端代码。我们的Git仓库有很多分支,看起来像这样:masterapplebananacherry...strawberrytangerine...每个fruit派生分支都包含生产实例的生产代码。(Master不用于实时部署,但包含所有共享代码,是我们从中克隆以设置新实例的代码。)我的问题:特定于单个实例的工作非常简单,发生在分支(或其开发分支)等等......但是,如果我需要进行会影响集群中所有站点的更改,我现在会在开发分支中执

git merge 并得到此错误 "does not point to a commit"

我从github.comfork了一个repo,并且还设置了上游远程。下面是我的repo[LeezhmLIZHM~/Developments/OF_GIT]gitremote-vorigingit@github.com:leezhm/openFrameworks.git(fetch)origingit@github.com:leezhm/openFrameworks.git(push)upstreamhttps://github.com/openframeworks/openFrameworks.git(fetch)upstreamhttps://github.com/openfram

git - 如何仅 merge 在特定修订后添加的更改(双向)?

gitmerge能否主要忽略两个分支之间的一些文件删除和文件重命名,同时仅merge对重命名文件的后续更改(并忽略对文件的更改在一个分支中被删除),在两个分支之间来回?因此,我希望能够在两个分支之间双向merge更改。development分支最初是master分支的副本,但有许多删除和文件重命名。最后一点破坏了我尝试的方法:在master上,我做了一个merge-soursdevelopment(没有文件改变)。与开发类似,我做了merge-soursmaster(没有更改文件)。我希望这会以某种方式定义一些起点,以便来自任何分支的任何后续gitmerge将仅应用自上面两个merge

c# - 如何将视觉冲突解决(P4Merge)集成到SourceTree中

很长一段时间以来,我一直为SourceTree缺乏可用的冲突解决方案而苦恼。应该有一个将p4Merge或其他差异/merge工具集成到SourceTree的过程。目前,p4Merge是我选择的工具;现在我只需要想办法让SourceTree接受p4Merge作为它的merge/差异工具,并且能够实际从SourceTree调用p4Merge来解决冲突。到目前为止,我唯一成功的事情就是让P4Merge在SourceTree中显示差异。因此,Actions/ExternalDiff菜单项有效,但Actions/ResolveConflicts/LaunchExternalMergeTool菜单

git 怪 : correct author after merge

GITmerge引入了一个新的提交。这会导致“gitblame”出现问题:merge的行似乎是由进行merge的开发人员提交的。我可以理解这是冲突更改的情况(因为他解决了冲突)。但是有没有办法让不冲突的线路不发生这种情况?“gitblame”的一些选项?如果没有办法,当你有很多merge时,这基本上会使“gitblame”几乎没用——而GIT鼓励大量merge。SVN是否存在非冲突merge的问题?我不这么认为,但我可能是错的,因为我(理解地)在使用SVN时避免像瘟疫这样的分支。 最佳答案 内部gitblame使用gitrev-li

Git:由于看似随机的 merge ,更改不断丢失

我觉得这将是一个显而易见的答案,但我似乎无法解决。似乎发生的事情是我向服务器提交/推送了一些更改,并且我的副本上的一切看起来都很好。然后另一个开发人员从同一分支的服务器中pull(据我所知,据称看到了我的更改),进行了一些修改,将它们提交到他们自己的本地副本,然后最终将其推送回服务器。在执行此操作的某个地方,我的更改丢失了,因为它们的推送(326c8fd0...)导致merge,其中包含大量删除/添加行,将存储库重置回更旧的修订版。即使使用存储库的新副本,这种情况现在也发生过几次。下面突出显示的行(8def6e9..)是我所做的提交,如果其他开发人员撤消了更改,则以下提交应该在同一分支

git merge 不是时已经是最新的

在使用git和bitbucket.com进行项目时,有以下分支:masterdevelopmentuatproduction当我开始项目工作时,我进行了开发的git克隆(自然而然地认为它包含最先进的代码)。几个月后的工作,现在证明生产分支中的代码(目前正在生产中运行)的版本比我开始时在开发分支中使用的代码的版本更高。当我尝试:gitcheckoutdevelopmentgitmergeproduction它说“已经是最新的”。我去的时候:gitdiffproduction..development它吐出了很多变化,说生产分支有不在开发分支中的代码。如何在不抹杀我数月工作的情况下将生产代

git - 压缩提交时 merge 冲突破坏了我的提交信息

我通常使用git的工作流程是创建一个新的功能分支,做一些频繁提交的工作,然后在功能正常工作和/或稳定时merge回开发分支。通常,当我执行gitmerge--squashfeature-branch时,我会收到一条很好的“压缩以下提交”消息,该消息会自动填充来自功能分支的所有提交消息.但是,如果存在任何merge冲突(比如我在处理此功能时完成并merge了另一个功能),我似乎会丢失分支中的所有提交消息。自动填充的提交消息会填充冲突,但不会填充提交消息。我的提交信息去了哪里?我可以取回它们吗? 最佳答案 是的,您可以取回压缩提交消息。