草庐IT

mro_merge

全部标签

git - 在不破坏文件历史记录的情况下 merge 两个 Git 存储库

我需要将两个Git存储库merge到一个全新的第三个存储库中。我发现了很多关于如何使用子树merge(例如JakubNarębski'sanswer上的HowdoyoumergetwoGitrepositories?)来执行此操作的描述,并且遵循这些说明大多有效,除了当我提交子树merge时,旧存储库中的所有文件都是记录为新添加的文件。当我执行gitlog时,我可以从旧存储库中看到提交历史记录,但如果我这样做gitlog它只显示该文件的一个提交-子树merge。从对上述答案的评论来看,我不是唯一看到这个问题的人,但我没有找到针对它的已发布解决方案。有什么方法可以merge存储库并完整保

git - merge 多个 git 存储库

假设我有一个看起来像这样的设置phd/code/phd/figures/phd/thesis/由于历史原因,这些都有自己的git存储库。但我想将它们merge为一个以简化一些事情。例如,现在我可能会进行两组更改,并且必须做类似的事情cdphd/codegitcommitcd../figuresgitcommit(现在)只是表演会很好cdphdgitcommit似乎有几种方法可以使用子模块或从我的子存储库中提取,但这比我正在寻找的要复杂一些。至少,我会很高兴cdphdgitinitgitadd[[everythingthat'salreadyinmyotherrepositories]]

Git 快进 VS 无快进 merge

Gitmerge允许我们执行快进和非快进分支merge。什么时候使用快进merge以及什么时候不使用快进merge有什么想法吗? 最佳答案 --no-ff选项在您想要清楚地了解您的功能分支时很有用。因此,即使在此期间没有提交,FF也是可能的——有时您仍然希望主线中的每个提交都对应一个功能。因此,您将具有一堆提交的功能分支视为一个单元,并将它们merge为一个单元。当您使用--no-ff进行功能分支merge时,从您的历史记录中可以清楚地看到。如果您不关心这样的事情-只要有可能,您就可以逃脱FF。因此你会有更多类似svn的工作流感觉。

git - 如何将远程master merge 到本地分支

我有一个项目的本地分支(“configUpdate”),我从其他人的项目中fork出来,我已经对它做了很多更改,并且想将他们所做的更改merge到我的本地分支机构。我试过了gitpull--rebaseoriginconfigUpdate但它没有获取最新的更改-我如何merge两者?(同样为了加分,我对pull--rebase命令做了什么?) 最佳答案 从您的功能分支(例如configUpdate)运行:gitfetchgitrebaseorigin/master或更短的形式:gitpull--rebase为什么会这样:gitmer

git - 我如何 'overwrite' 而不是 'merge' 是 Git 中另一个分支上的一个分支?

我有两个分支,email和staging。staging是最新的,我不再需要email分支中的旧更改,但我不想删除它们。所以我只想将staging的所有内容转储到email中,以便它们都指向同一个提交。这可能吗? 最佳答案 您可以使用'ours'mergestrategy:$gitcheckoutstaging$gitmerge-soursemail#Mergebranches,butuseour(=staging)branchhead$gitcheckoutemail$gitmergestaging编辑2020-07-30:我对这

git - 如何解决git的 "not something we can merge"错误

刚刚在git中merge一个分支到master时遇到了一个问题。首先,我通过运行gitls-remote获得了分支名称。让我们称该分支为“分支名称”。然后我运行gitmergebranch-name命令并得到以下结果:fatal:branch-name-notsomethingwecanmerge如何解决此错误? 最佳答案 如图Howdoes"notsomethingwecanmerge"arise?,此错误可能是由于分支名称中的拼写错误引起的,因为您正试图pull出一个不存在的分支。如果这不是问题所在(如我的情况),则可能是您没有

git - 主分支和开发分支之间的 "git pull"或 "git merge"

我有我的master分支和一个develop分支来进行一些更改。我需要将master中的更改merge到develop中,但最终会将develop中的所有内容merge到master中。我有两种不同的工作流程:gitpulloriginmaster到develop分支gitmergemaster到develop分支哪种方法最好,为什么? 最佳答案 这个工作流程最适合我:gitcheckout-bdevelop...做一些改变......通知主已更新......提交更改以开发...gitcheckoutmastergitpull...

Git merge 错误

我有一个名为9-sign-in-out的git分支,代码工作正常,我想把它变成主分支。我目前在master分支上。$gitbranch9-sign-in-out*master我正在尝试切换到9-sign-in-out分支,但它不允许我:$gitcheckout9-sign-in-outapp/helpers/application_helper.rb:needsmergeconfig/routes.rb:needsmergeerror:youneedtoresolveyourcurrentindexfirst知道如何忽略所有主分支错误并将9-sign-in-out分支变成主分支吗?也许

Git merge 报告 "Already up-to-date"尽管存在差异

我有一个包含2个分支的git存储库:master和test。主分支和测试分支之间存在差异。两个分支都提交了所有更改。如果我这样做:gitcheckoutmastergitdifftest出现一个充满变化的屏幕,显示差异。我想merge测试分支中的更改,所以这样做:gitmergetest但是收到消息“已经是最新的”但是,检查每个不同分支下的文件会清楚地显示差异。这里有什么问题,我该如何解决? 最佳答案 消息“Alreadyup-to-date”表示您尝试merge的分支中的所有更改都已merge到您当前所在的分支。更具体地说,它意味

git - 解决 merge 冲突后如何完成 merge ?

我读过BasicBranchingandMergingGit社区手册的一部分。所以我按照它创建了一个分支:experimental。然后我:切换到实验分支(gitcheckoutexperimental)做一些改变提交(gitcommit-a)切换到主分支(gitcheckoutmaster)做一些改变并提交切换回实验(gitcheckoutexperimental)将主更改merge到实验(gitmergemaster)有一些冲突,但在我解决它们之后,我做了'gitaddmyfile'现在我卡住了,我不能回到master当我这样做的时候$gitcheckoutmastererror: