我是github的新手,我正在尝试合并我的master和gh-pages分支.
在尝试合并时,我遇到了冲突.现在我收到以下消息

我如何解决它?
我从去年开始就使用GIT,这真的很有帮助......
我读了很多关于使用分支等的最佳方法...我实际上只有一个问题,我主要使用GIT GUI
git-gui version 0.17.GITGUI
git version 1.8.0.msysgit.0
Tcl/Tk version 8.5.11
Run Code Online (Sandbox Code Playgroud)
而且我从未找到与该--no-ff选项进行简单合并的选项
有没有办法使用这个参数?或者在GIT GUI中将其设置为默认值?
我有一个分支git存储库,有~4000次提交.我想根据创建日期对提交进行分组.例如,鉴于以下提交:
abcd 2013-4-1 12:10
abce 2013-4-1 13:27
...
cdef 2013-4-1 18:16
cdeg 2013-4-2 09:23
...
gade 2013-4-2 18:20
fdeg 2013-4-3 09:42
...
Run Code Online (Sandbox Code Playgroud)
我想获得一个提交历史,例如all abcd- cdef提交合并到一个提交,所有cdeg-gade合并为一个,依此类推.我试着用rebase作为
git reset --hard cdef
git rebase -i abcd
Run Code Online (Sandbox Code Playgroud)
我无法压缩所有提交,得到了下面的错误消息.
"Cannot 'squash' without a previous commit"
Run Code Online (Sandbox Code Playgroud)
我试图一次压制一个提交,但它确实有效,但它花了很长时间才显然不可行.
如何根据创建日期合并提交?
考虑一个场景,在该场景中,我已经从母版创建了一个名为“功能1”的分支。我的朋友还从母公司创建了一个名为“功能2”的分支。他完成了代码更改,并将“功能2”分支合并回master。
现在,我已经在“功能1”分支中完成了更改,并希望合并回master(自从分支分支以来已更新)。在将“功能1”合并到母版之前,是否需要拉/变基,还是git可以处理?
我的存储库有樱桃选择记录为合并.它抛出了git选择的合并基础.是否可以指定合并基础?如果是这样,怎么样?
示例:f在A处从主人处分支.C被挑选为f,但误导性地作为与K和C合并为父母.
A-B-C master
\ \
K---C'-L f
Run Code Online (Sandbox Code Playgroud)
将f合并到master git时会发现C是最常见的祖先并将其用作Base.由于B包含在Base中,但是在f处丢失,它将被合并撤消.使用A作为基数将给出正确的合并.
编辑:这个答案排除了B计划下面的问题.所以,希望有人可以回答:如何在git merge中指定merge-base?
编辑,计划B:使用tfs-git从两个具有cherry-pick-workflow的tfs-branch中获取存储库.一个变更集的"合并选定范围"显示为git中的完全合并.另一种解决方案是以某种方式配置git-tfs以不创建merge-commits.(暂停采摘樱桃不是一种选择.)
请有人告诉我Git在合并两个分支时的历史方面.
如果我有两个分支都在积极开发并且都包含提交,这类似于以下时间轴:
Branch #1: ----(branch)----C1----------C2-------(merge)------C5
\ /
\ /
\ /
Branch #2: -----------C3----------C4
Run Code Online (Sandbox Code Playgroud)
一旦两个分支合并,分支1的历史如何看待C5(提交#5)?我的印象是Git将合并所有历史记录给我以下内容:
Branch #1: ----------------C1----C3----C2----C4--------------C5
Run Code Online (Sandbox Code Playgroud)
这是正确的理解吗?
如果是这样,在紧急情况下,如何撤消合并,因为分支#2的所有历史肯定会与分支#1的历史交织在一起.
通常,当我们使用新的原始提交来更新本地存储库时,我们会执行git fetch和git rebase。但是我们不做git fetch git merge。通常,原因是我们不想添加新的提交(合并提交),而只是想在我们的代码之上获取所有新的提交。那么为什么git pull的默认行为不是合并。我知道我们可以更改它,但是有更好的理由使用fetch-merge而不是fetch-rebase。
我正在将功能分支合并到master分支中,并且我想覆盖master分支中的某些文件。我要覆盖的文件通常包含文本配置和一些编码为文本的二进制数据,因此它们一定有问题,我也不会在意这些。它们旨在替代主机中的那些。
Auto-merging frmShopSupportIncidents.lfm
CONFLICT (content): Merge conflict in frmShopSupportIncidents.lfm
Auto-merging frmNewShop.lfm
CONFLICT (content): Merge conflict in frmNewShop.lfm
Auto-merging frmCliCustsBrowser.lfm
CONFLICT (content): Merge conflict in frmCliCustsBrowser.lfm
Auto-merging custManager.lpi
Auto-merging clientShopFrame01.lfm
CONFLICT (content): Merge conflict in clientShopFrame01.lfm
Automatic merge failed; fix conflicts and then commit the result.
Run Code Online (Sandbox Code Playgroud)
如何使冲突以任何方式被忽略和覆盖?
我有一个分支release-x.x.x,希望合并到主分支中。但是,当我执行拉取请求时,它有成百上千的合并冲突。我认为这是由于我执行了Swift 3迁移。无论哪种方式,我都想在release-x.x.x合并到中时使用文件的所有版本master。我已经做了checkout release-x.x.x和git merge -s recursive -X ours master。我正在反向进行操作,因此我可以解决上的冲突release-x.x.x,然后在上创建拉取请求master并保留所有提交历史记录。
当我运行时git status,这是一些输出:
added by us: Pods/FirebaseCrash/Frameworks/frameworks/FirebaseCrash.framework/FirebaseCrash
added by us: Pods/FirebaseCrash/Frameworks/frameworks/FirebaseCrash.framework/Headers/FIRCrashLog.h
added by us: Pods/FirebaseCrash/Frameworks/frameworks/FirebaseCrash.framework/Headers/FirebaseCrash.h
added by us: Pods/FirebaseCrash/Frameworks/frameworks/FirebaseCrash.framework/Modules/module.modulemap
deleted by them: Pods/FirebaseCrash/README.md
deleted by them: Pods/FirebaseCrash/batch-upload
deleted by them: Pods/FirebaseCrash/upload-sym
deleted by them: Pods/FirebaseCrash/upload-sym-util.bash
deleted by us: Pods/FirebaseInstanceID/CHANGELOG.md
added by us: Pods/Intercom/Intercom/Intercom.framework/Versions/A/Intercom
both added: MyProject/Base.lproj/Localizable.stringsdict
both deleted: MyProject/Localizable.stringsdict
both added: MyProject/en-HK.lproj/Localizable.stringsdict
Run Code Online (Sandbox Code Playgroud)
我假设我想保留任何内容added by us …
在源代码树中启动了分支之间的合并,改变了我的想法.想要重做合并但是在再次开始合并时遇到错误:
"致命:你还没有完成你的合并(MERGE_HEAD存在).请在合并之前提交你的更改."
我看不到任何未提交的文件,但是当单击"提交"时,我得到之前的合并更改.
如何取消此合并?