0


【Git】解决Untracked Files Prevent Checkout的问题

一、背景描述

使用的工具:Windows10 + Idea + Git

今天从Git服务器上通过 Git Bash Here(如下图所示),克隆下来一个新的项目,此时一般都是master分支。

此时使用 Idea 打开新克隆下来的项目,想从master分支切换到dev分支,操作如下:

结果会出现如下问题:

二、问题原因

出现此问题的原因是因为本地有已加入Git版本控制的文件,但是没有 commit 所以在 检出(checkout)时会提示这个问题。

根据提示的内容(Move or commit them before checkout)我们就可以知道两种解决方案。

  • 第一种解决方案就是 Move them(把这些文件移除)
  • 第二种解决方案就是 commit them(提交这些文件)

下面分别说一下两种方案的具体操作。

三、解决方案

以下两种方案都可以解决上述问题,看个人喜好使用哪种方式都可以。

3.1 方案1--删除文件

如果不想删除文件(或者文件不能删除的话),请直接略过此方案,看第三种方案。

点击View Files,会弹出一个对话框,如下图所示:

对于我的项目是弹出了一个 .idea文件夹下的 .gitignore文件,没有用,所以我选择删除,点击 OK 后,再重新切换开发的分支即可成功。

Tips:需要注意的是如果项目太旧太乱可能会有很多冲突文件,耐心删除直到不再弹框提示Untracked Files Prevent Checkout即可切换分支。此时就不如使用第三种解决方案了。

3.2 方案2-- 提交这些文件

根据提示内容(Move or commit them before checkout),我们在检出分支的时候,需要把本地所有已加入Git版本控制的文件都commit了。这就是第二种方案,但是很明显,我不需要提交这个文件,所以这种解决方案需要根据实际情况了。

3.3 方案2--git命令切换分支

需要用到的Git命令:git checkout -f 分支名

先进入到项目所在的磁盘目录:鼠标右键 -- > Git Bash Here --> 弹出命令窗口 --> 手动输入 **git checkout -f dev-V2.02.01-20220425 **命令之后回车即可切换到开发的分支。

dev-V2.02.01-20220425 是我项目中的一个分支。

从图中可以看到已经成功切换到分支了。

Tips:第三种方案需要记住git的命令,相比较于第一种方案,可能稍微复杂一些,但是如果第一种方案解决不了的话,就可以使用第三种方案。

完结!

标签: git github gitlab

本文转载自: https://blog.csdn.net/weixin_44299027/article/details/127553036
版权归原作者 No8g攻城狮 所有, 如有侵权,请联系我们删除。

“【Git】解决Untracked Files Prevent Checkout的问题”的评论:

还没有评论