标签: merge-conflict-resolution

如何将包含已恢复提交的 master 合并到分支

我有初始状态的主分支:

touch file
git add file
git commit -m "initial"
Run Code Online (Sandbox Code Playgroud)

然后我做了一些改变:

echo "123" >> file
git commit -am "feature1"
Run Code Online (Sandbox Code Playgroud)

这确实属于一个功能分支,所以我分支了:

git branch TEST
Run Code Online (Sandbox Code Playgroud)

并恢复了主人的变化(我不知道这是否是最好的方法,但它做了当时需要的东西):

git revert <last commit hash>
Run Code Online (Sandbox Code Playgroud)

然后我在功能分支上做了一些更改:

git checkout TEST
echo "456" >> file
git commit -am "feature 1 continued"
Run Code Online (Sandbox Code Playgroud)

现在我在将 master 合并到它时遇到了问题。我想要的是能够将 master 中的所有未来更改合并到 TEST 分支并保留我的功能分支更改。

代码已经推送到远程。

git git-revert merge-conflict-resolution

4
推荐指数
1
解决办法
733
查看次数

解决大型项目团队中的冲突

我有兴趣学习解决大团队冲突的最佳方法。

例如,我有一个主分支,团队在其中进行了相当多的更改,然后我正在重新调整来自上游的最新更改(主分支和上游未连接)。我也遇到了冲突。问题在于团队中的某个人更了解如何解决一个文件中的冲突,而其他人则更了解另一个文件中的冲突。

所以问题是:是否可以将未解决的分支推送到远程,等待同事解决本地环境中的冲突并将其推回,然后进行 git rebase --continue。

如果不是,解决这个问题的最佳方法是什么?

git conflict git-rebase merge-conflict-resolution git-branch

4
推荐指数
1
解决办法
1926
查看次数

CoreData 合并冲突显示托管对象版本更改而非数据

我在核心数据中有一个实体,我尝试从两个不同的上下文更新它。我正在存储我需要更新的托管对象的 managedObjectID,因为它是线程安全的。在更新我的对象之前,我刷新对象以避免合并冲突。这是我的代码:

context1.performBlock {
    let myObject = context1.objectWithID(managedObjectId)
    context1.refreshObject(myObject, mergeChanges: true)
    myObject.property1 = newValue
}
Run Code Online (Sandbox Code Playgroud)

请注意,我没有在此处保存上下文,因为我想将这些更改作为其他更新事务的一部分提交。

对于同一个对象,我还有一些其他属性需要立即提交,因此我为此创建了单独的上下文以防止 property1 立即提交。

context2.performBlock {
    let myObject = context2.objectWithID(managedObjectId)
    context2.refreshObject(myObject, mergeChanges: true)
    myObject.property2 = newValue
    do {
        try context2.save()
    }
    catch {}
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中context2,我已经更新了property2,它将立即提交给 db,但在我的情况下这不是那么频繁的更新。在context1我更新property1的频率(以every1秒),我提交它每10秒(请注意,我每次更新property1,我刷新对象,所以我会得到更新的价值property2一旦被改变context2)。

这在大多数情况下都可以正常工作,但有时我会遇到合并冲突。我不知道为什么每次刷新对象后我都会遇到合并冲突。

此外,我的控制台向我显示了相同的对象,除了托管对象的版本,所以如果所有属性都与版本更新的方式相同?

控制台日志:

错误域=NSCocoaErrorDomain 代码=133020 “无法合并更改。” UserInfo={conflictList=( "NSMergeConflict (0x17fa78f0) for NSManagedObject (0x18751830) with objectID '0x170f1ca0'​​ with oldVersion = 8 and newVersion = 9 and old …

core-data nsmanagedobject nsmanagedobjectcontext ios merge-conflict-resolution

4
推荐指数
1
解决办法
3114
查看次数

git am失败后git status和git diff为空

我在与通常不同的机器上进行开发,并且git的行为似乎与我记得的不同。

当我签出新的branch git checkout -b <new branch name>并尝试应用补丁时git am </path/to/file.patch>,补丁无法应用:

</path/to/file.patch>
Applying: <commit msg>
error: patch failed: <filename>:<line no>
error: <filename>: patch does not apply
Patch failed at <commit msg>
The copy of the patch that failed is found in: .git/rebase-apply/patch
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".
Run Code Online (Sandbox Code Playgroud)

现在,当补丁无法应用时,我会在其他机器上发誓,git …

git merge-conflict-resolution

4
推荐指数
2
解决办法
3696
查看次数

错误:由于Podfile.lock中的合并冲突,解析无法继续

最近自从更新Xcode以来我使用podfiles遇到了很大麻烦.我无法在现有的pod文件中添加任何新的pod,因此我决定创建一个新项目并将所有内容复制到其中.但是现在我必须再次面对同样的问题,如果我们能够解决这个问题,我会非常高兴.

正如标题所示,每当我尝试使用pod安装或任何其他pod命令时,我都会收到以下错误:

错误:解析由于合并冲突而无法继续:位于/Users/Al/Xcode/Alpha/Podfile.lock的文件

并在整个错误日志的末尾说:

<<<<<<< HEAD

PODFILE CHECKSUM:ee6160c5c3b5d0c8ebc5ddcb9ac0841413b85dc3

=======

PODFILE CHECKSUM:d5cfd70801e862e4ade36c54ca4ad6698be59373

D >>>>>>> 41bfa2c75e2c2a1832f998baf7bd445e385ba513

COCOAPODS:1.3.1

error-handling xcode merge-conflict-resolution cocoapods podfile

4
推荐指数
1
解决办法
1454
查看次数

如何忽略合并冲突?

我有下一个合并冲突:

<<<<<<< Updated upstream
    my( $c, $name ) =  (shift,shift);
  my %name =  defined $name ? ( name => $name ) : ();

||||||| merged common ancestors
    my( $c ) =  shift;
=======
    my( $c, $name ) =  (shift,shift);

  my %name =  defined $name ? ( name => $name ) : ();
>>>>>>> Stashed changes

<<<<<<< Updated upstream
    return $c->render_to_string( 'control/toggle', id => "toggle$id", %name, @_ );
||||||| merged common ancestors
  return $c->render_to_string( 'control/toggle', @_, id => "toggle$id" );
======= …
Run Code Online (Sandbox Code Playgroud)

git merge-conflict-resolution

4
推荐指数
1
解决办法
2万
查看次数

VimDiff E93:RE超过一场比赛

因此,我是使用vimdiff的新手,但是我感觉有些错误。每当我尝试使用以下命令从远程存储库中选择更改时:

:diffg RE
Run Code Online (Sandbox Code Playgroud)

我得到错误:

E93: More than one match for RE
Run Code Online (Sandbox Code Playgroud)

不知道这来自哪里或如何解决。我很惊讶堆栈溢出似乎没有在任何地方发布此问题。在此先感谢任何可以提供帮助的人:)

git vimdiff git-merge diff3 merge-conflict-resolution

4
推荐指数
1
解决办法
1140
查看次数

为什么从 git rebase 删除的提交会导致合并冲突?

我的问题

我一直在开发 git 存储库。在发布我的更改之前,我想删除一些提交 - a023b43315424b7b51754- 因为它们不反映任何有意义的更改。唯一重要的时间点是第一个 ( 70f72ca) 和最后一个 (6937ddd ) 提交。

我尝试过什么

git rebase -i 4c802c1
Run Code Online (Sandbox Code Playgroud)

我选择了:

pick 70f72ca Remove repetitions from Makefile
d a023b43 Separate target for image conversion
d 315424b Remove image conversion (#1)
d 7b51754 Fix Makefile
pick 6937ddd CV 2019.01
Run Code Online (Sandbox Code Playgroud)

最终目标是拥有如下所示的 git 日志:

6937ddd CV 2019.01
4c802c1 Initial commit
Run Code Online (Sandbox Code Playgroud)

什么没有奏效

Auto-merging src/Adam_Matan.tex
CONFLICT (content): Merge conflict in src/Adam_Matan.tex
error: could not apply 6937ddd... CV 2019.01

Resolve all …
Run Code Online (Sandbox Code Playgroud)

git rebase merge-conflict-resolution

4
推荐指数
2
解决办法
3203
查看次数

如何获得Git合并以忽略所选文件中的冲突?

我正在将功能分支合并到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)

如何使冲突以任何方式被忽略和覆盖?

git git-merge merge-conflict-resolution git-merge-conflict

3
推荐指数
1
解决办法
5359
查看次数

解决添加和删除的冲突Git

我有一个分支release-x.x.x,希望合并到主分支中。但是,当我执行拉取请求时,它有成百上千的合并冲突。我认为这是由于我执行了Swift 3迁移。无论哪种方式,我都想在release-x.x.x合并到中时使用文件的所有版本master。我已经做了checkout release-x.x.xgit 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 …

git git-merge merge-conflict-resolution git-merge-conflict

3
推荐指数
1
解决办法
2445
查看次数