当我拉最后一次提交时,我收到以下错误消息:
C:\laragon\www\wordpress\wp-content\themes\chihab-twig>git pull
First, rewinding head to replay your work on top of it...
Applying: disable Timber cache
Using index info to reconstruct a base tree...
M functions.php
Falling back to patching base and 3-way merge...
Auto-merging functions.php
CONFLICT (content): Merge conflict in functions.php
error: Failed to merge in the changes.
Patch failed at 0001 disable Timber cache
The copy of the patch that failed is found in: .git/rebase-apply/patch
When you have resolved this problem, run "git rebase --continue".
If you prefer to skip this patch, run "git rebase --skip" instead.
To check out the original branch and stop rebasing, run "git rebase --abort".
当我在文本编辑器中修复冲突并提交更改时,我收到以下消息:
[detached HEAD b66d68b] fix conflict
1 file changed, 4 insertions(+)
但是当我切换到" master"时,我发现没有撤消任何更改。 这有什么不对?
答案 0 :(得分:1)
您的默认合并策略已设置为rebase而非merge。
rebase的过程与合并不同。 rebase返回到您的更改发生的位置(输出中的重绕HEAD消息),然后按顺序应用每个提交的变更集。如果存在无法自动解决的冲突,它将停止。那就是你要去的地方。
当您完成更改(解决冲突)后,请使用git add my/file
然后git rebase --continue
完成合并。
它基本上将冲突的解决方案置于冲突发生的提交中。就好像冲突从未发生过 - 你的变化现在基于与你开始的不同的起点。
您可以考虑将合并策略更改为默认值,以避免重新绑定。更改或定期合并是基于许多因素的决定(超出了本问题的范围)。