我的代码有变化,而我的队友也有变化 我做了一个提交,和他们一样,所以我们最终改变了大部分文件
推完他的分支,然后我拉它,
我从git bash那里得到了这条消息。
First, rewinding head to replay your work on top of it...
Applying: Fixed the account control problem
Using index info to reconstruct a base tree...
M application/views/templates/header.php
.git/rebase-apply/patch:417: trailing whitespace.
<?php
.git/rebase-apply/patch:418: trailing whitespace.
defined('BASEPATH') OR exit('No direct script access allowed');
.git/rebase-apply/patch:427: trailing whitespace.
$autoload['libraries'] = array('ion_auth');
.git/rebase-apply/patch:436: trailing whitespace.
$autoload['helper'] = array('form');
.git/rebase-apply/patch:451: trailing whitespace.
$config['tables']['groups'] = 'groups';
warning: squelched 772 whitespace errors
warning: 777 lines add whitespace errors.
Falling back to patching base and 3-way merge...
Auto-merging application/views/templates/header.php
CONFLICT (content): Merge conflict in application/views/templates/header.php
error: Failed to merge in the changes.
Patch failed at 0001 Fixed the account control problem
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"
问题是,git显示文件未分级,当我尝试提交时,我无法继续变基,如果我跑了,git rebase --skip,我拉的文件也丢失了。
对此有什么解决方法?这是我第一次遇到它。
答案 0 :(得分:1)
我推测当你做一次拉动时,你实际上做了git pull --rebase
,即拉入rebase模式。这意味着您在远程存在的版本之上重新设置了本地分支。完成rebase的一般方法是对每个显示在CONFLICT
中的文件采取以下步骤:
git add
git rebase --continue
好消息是,你向我们展示的rebase步骤只有header.php
处于冲突状态。但是,rebase的每个步骤都对应于重新应用一个本地提交,并且在rebase的后续步骤中可能存在多个文件中的冲突。
鉴于你可能弄乱了当前的rebase尝试,你可能想要git rebase --abort
然后再拉一次。
另一种方法是使用merge作为策略。这只是一个步骤,将导致所有具有conflit的文件同时显示。但也许您的组织正在执行rebase工作流程。
答案 1 :(得分:0)
打开application/views/templates/header.php
。
删除“HEAD”和“======”之类的陈述。
git add application/views/templates/header.php
将header.php
添加到索引
运行git rebase --continue
答案 2 :(得分:0)
拉远程分支后,在某些文件中发生冲突。如果您想保留remote/changes
,请接受--theirs
,否则接受--ours
。
$ git pull origin <branch-name>
$ git checkout --theirs -- . # accept remote (--theirs) changes
$ git add .
$ git commit -m 'Fix conflicts'
$ git push origin HEAD