首页 > 其他分享 >【Git】解决Untracked Files Prevent Checkout的问题

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

时间:2023-05-24 23:34:45浏览次数:37  
标签:Files Prevent Git 方案 -- 解决方案 文件 分支


本文目录

一、背景描述

二、问题原因

三、解决方案

3.1 方案1--删除文件

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

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


一、背景描述

使用的工具:Windows10 + Idea + Git

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

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

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

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

结果会出现如下问题: 

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

二、问题原因

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

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

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

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

三、解决方案

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

3.1 方案1--删除文件

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

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

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

对于我的项目是弹出了一个 .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 是我项目中的一个分支。

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

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

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

完结!

标签:Files,Prevent,Git,方案,--,解决方案,文件,分支
From: https://blog.51cto.com/u_16128050/6343402

相关文章

  • 源代码管理工具:Github的基本使用介绍
    前言:GitHub是目前最受欢迎的代码托管平台之一,它提供了强大的工具和功能,方便开发者进行版本控制、协作开发和项目管理。本篇博客将向大家简单地介绍如何使用GitHub,也许能够帮助你托管代码、协作开发并充分利用GitHub的强大功能。若有介绍不恰当或需要补充的地方,欢迎评论探讨......
  • 源代码管理工具-GitHub篇
      一、gitHub是什么   GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub。  git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。 二、github作用   github可以......
  • gitlab--内置的环境变量、自定义环境变量
    自定义环境变量gitlab给我们内置了很多的变量,但有时候满足不了我们的需求,例如我们需要往某个私有仓库推送镜像,需要账号和密码进行登录。这时候我们不想把密码写在.gitlab-ci.yml文件里面。我们就可以自定义一个环境变量来使用了。先来定义一个变量,设置-》CI/CD-》变量在.g......
  • python:Error: EPERM: operation not permitted, mkdir 'F:\Program Files\nodejs\n
     可以发现文件没有权限npmERR!Error:EPERM:operationnotpermitted,mkdir'F:\ProgramFiles\nodejs\node_global\node_modules'将nodejs的文件权限改为完全控制之后操作即可 ......
  • GitlabCI学习笔记之三:GitLabRunner pipeline语法之tags allow_faillure when retry ti
    1.tags用于从允许运行该项目的所有Runner列表中选择特定的Runner,在Runner注册期间,您可以指定Runner的标签。tags可让您使用指定了标签的runner来运行作业,此runner具有ruby和postgres标签。示例给定带有osx标签的OSXRunner和带有windows标签的WindowsRunner,以下作业将在......
  • 三款Github Copilot的免费替代
    大家好我是费老师,提起GithubCopilot,相信很多读者朋友们都听说过甚至使用过,作为Github研发的一款先进的编程辅助插件,它可以在我们日常编写代码的过程中,根据代码的上下文内容、注释等信息自动推断生成高质量的代码,很大程度上提升我们的代码编写效率。而自从去年8月GithubCo......
  • git入门使用
    一、简介(一)概述​ Git是分布式版本控制系统(DVCS)。它可以跟踪文件的更改,并允许你恢复到任何特定版本的更改。​ 与SVN等其他版本控制系统(VCS)相比,其分布式架构具有许多优势,一个主要优点是它不依赖于中央服务器来存储项目文件的所有版本。​ 每个开发人员都可以“克隆”我在......
  • 【Git用法】如何将本地项目上传到码云,只需这几步,每个步骤都有图文
    想要往码云里上传一个项目文件,首先,我们需要的工具有:①gitshell(用来敲git指令)②你自己的码云账号第一步,要注册一个码云账号,很简单,不过多复述,注册成功后登录,接下来进行第二步;第二步,点击右上方的加号中“新建项目”一项然后填写基本信息,点击创建即可第三步,安装gitshell(我的是安装Git......
  • 源代码管理工具——Github
    一、搜索资源Github注册完成之后,进入主界面,左上角为资源搜索区域,可以全网搜索自己想要找到的资源。我们可以在搜索结果里选择自己需要的项目,同时可以筛选语言。进入项目过后,可以查看到整个项目的架构,以及通过绿标下载源代码。一个完整的项目界面包括以下部分:1.项目作者......
  • 源代码管理工具Github介绍
    在开发软件日益庞大,开发团队日益增加的今天。为了达到代码的管理目的,并提供源代码的分享等功能,孕育而生了源代码管理工具。GitHubGitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub。作为开源代码库以及版本控制系统,Githu......