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

简介: 【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的命令,相比较于第一种方案,可能稍微复杂一些,但是如果第一种方案解决不了的话,就可以使用第三种方案。

完结!


相关文章
|
7月前
|
开发工具 git
git checkout (branchname
git checkout (branchname) 是 Git 中切换分支的一种命令。通过这个命令,你可以将当前工作目录切换到指定的分支上。branchname 参数是可选的,如果不指定,则默认切换到主分支(master 或 main)。
151 2
|
编译器 开发工具 git
【Git异常】You are in ‘detached HEAD‘ state, which means that you‘re not on any branch Checkout a branch
【Git异常】You are in ‘detached HEAD‘ state, which means that you‘re not on any branch Checkout a branch
254 0
|
7月前
|
开发工具 git 开发者
|
缓存 测试技术 开发工具
git checkout 切 commit
git checkout 切 commit
480 0
git checkout 切 commit
|
开发工具 git
git checkout到新的分支之后原来未提交的代码找回
git checkout到新的分支之后原来未提交的代码找回
455 0
|
开发工具 git
git更新:Your local changes to the following files would be overwritten by merge
git更新:Your local changes to the following files would be overwritten by merge
272 0
|
Java 开发工具 Maven
git解决error: The following untracked working tree files would be overwritten by c
git解决error: The following untracked working tree files would be overwritten by c
1698 0
|
算法 安全 Linux
Git 拉取项目小技巧之切换分支error: The following untracked working tree files would be overwritten by checkout:
Git 拉取项目小技巧之切换分支error: The following untracked working tree files would be overwritten by checkout:
750 0
Git 拉取项目小技巧之切换分支error: The following untracked working tree files would be overwritten by checkout:
|
25天前
|
开发工具 git
git 常用命令
这些只是 Git 命令的一部分,Git 还有许多其他命令和选项,可根据具体需求进行深入学习和使用。熟练掌握这些命令能够帮助你更高效地管理代码版本和协作开发。
|
17天前
|
机器学习/深度学习 Shell 网络安全
【Git】Git 命令参考手册
Git 命令参考手册的扩展部分,包含了从基础操作到高级功能的全面讲解。
25 3