我在本地有两个分支,master
和Berislav
。后者目前是活跃的,我已经做出了所有的改变。当我尝试结账到master
时,我收到以下消息:
错误:您对以下文件的本地更改将被覆盖 通过结帐:[活动分支中更改的文件列表]请, 在切换分支之前提交更改或存储它们。 中止
然而,我尝试的其他所有内容 - commit
,status
,merge
- 告诉我没有任何提交(工作目录清理)。到达我的master
分支需要做什么?
编辑:当我尝试git stash
时,我得到了:
错误:将未修改的[文件路径]提供给diffcore
以上错误中列出的所有文件。
答案 0 :(得分:41)
我今天遇到了类似的问题。 git status
未列出结帐有抱怨的文件。我做了一个:
git checkout -- path/to/file
撤消对文件的任何更改。
撤消当前工作目录上所有未暂停更改的更简单方法 [1] :
git checkout -- .
[1] - 请注意 - 您将丢失正在处理的任何其他未暂停的更改(如果有)。如果您不知道自己在做什么,请备份您正在处理的文件:)
答案 1 :(得分:39)
这很简单:
git stash
git stash pop
运行git stash
时看到的“错误”并不值得关注。它只是git识别文件没有任何未提交的更改。
答案 2 :(得分:12)
我在一个新的克隆上遇到了类似的问题。我刚用--force(-f)标志强制结账
git checkout --force some_branch
可能不是解决您正在进行更改的回购问题的最佳方法,但在我的情况下,我确信我没有做任何更改,只是想切换分支。
答案 3 :(得分:10)
将违规文件移至其他位置。然后从树中删除有问题的文件。再次拉。然后将您的违规文件中的更改与您刚刚提取的文件区分开来。黑客,但它的确有效。
答案 4 :(得分:2)
您的工作副本中似乎有未跟踪的文件,这些文件会在另一个分支上进行跟踪。 Git拒绝签出另一个分支,因为你当前未跟踪的本地文件将被另一个分支上的文件覆盖。
你现在可以
答案 5 :(得分:1)
与@JohnHammink的答案非常相似,但现在就这样了。
<强>解决方案强>
在我的情况下,这是因为重命名的文件仅对案例进行了更改。例如fooViewModel到FooViewModel。 Git一直认为同一个文件实际上是两个独立的文件。
我认为这与Unix区分大小写有关,而windows并不是真的。
希望这有帮助
答案 6 :(得分:0)
我遇到了同样的问题,这解决了我的问题(在Linux上):
public class ToSite extends Activity {
WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_web_view);
Utils.setShared(this);
String url = getIntent().getExtras().getString("url");
System.out.println(url);
if (!URLUtil.isValidUrl(url)) {
finish();
Toast.makeText(this, "URL not Valid", Toast.LENGTH_LONG).show();
}
webView = (WebView) findViewById(R.id.webview);
webView.setWebViewClient(new MyBrowser());
webView.getSettings().setLoadsImagesAutomatically(true);
webView.getSettings().setJavaScriptEnabled(true);
webView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
webView.loadUrl(url);
}
private class MyBrowser extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
}
答案 7 :(得分:0)
根据消息提示,重新运行带有--force选项的命令。
flutter upgrade --force