我有一个分支master
。我创建了一个新分支feature
,对其文件fileA
和fileB
进行了一些更改。同时,在同一文件master
和fileA
中也对fileB
进行了一些更改。现在我将master
合并到feature
。它会在文件fileA
和fileB
中显示冲突。我们假设,现在我决定将功能分支保持在相同的冲突状态,并希望转移到master。
git checkout master
在下面发出错误说明:
fileA: needs merge
fileB: needs merge
error: you need to resolve your current index first
如何在保持master
原样的情况下切换到feature
。
EDIT
基本上发生的事情是,我从主人那里合并而且发生了一些冲突,这使我对功能的更改毫无用处。所以我想回到主人并切出一个新分支来处理这个功能。同时,我不希望我的早期功能分支被删除,因为它有一些我可能要再次编写的代码,因此我想保留它以便在需要时引用它。
答案 0 :(得分:2)
您不能保留原样,但您可以将未提交的更改设置为一边,然后返回到您当前所处的状态。
guidata
会将您未提交的更改设置为% --- Executes just before testgui is made visible.
function testgui_OpeningFcn(hObject, eventdata, handles, varargin)
% Choose default command line output for testgui
handles.output = hObject;
handles = setupDistPlots(hObject, eventdata, handles);
% Update handles structure
guidata(hObject, handles);
切换到主git stash save
git checkout master
会列出您已隐藏的所有更改git checkout feature
将恢复上次隐藏的更改答案 1 :(得分:1)
你不能。
您无法切换分支并使其保持未合并或冲突的状态。该状态仅适用于您的工作目录,而不是专门用于分支。
您的工作目录中有些更改未被Git跟踪。您需要解决这些更改并提交它们,否则在切换分支时它们会丢失。