首页 > 其他分享 >[GIT] 解决:git status时有Untracked files(未跟踪的文件)

[GIT] 解决:git status时有Untracked files(未跟踪的文件)

时间:2024-07-08 11:19:24浏览次数:17  
标签:status files git 删除 文件 clean Untracked

1 问题描述

  • git pull时失败,报Please move or remove them before you merge。结果git status显示有一堆不太想提交的Untracked files(未跟踪的文件)。

  • 那么,Untracked files文件状态的文件,是什么?一般又如何处理呢?

2 原因分析

我们要真正弄明白问题的原因,我们就要先知道文件的几个状态。

  • git在未commit之前有三种状态:
  • Untracked files 未跟踪
  • Changes not staged for commit 未提交的更改
  • Changes to be committed 提交的更改

  • Q: 什么文件会是未跟踪的呢?
  • Ans : 那些新创建的从未add过的文件就是未跟踪的。
  • Ans : 此时有几种情况:
情况1 我们创建了准备提交上去的,这种好办只要add了就可以了。———— add 之

情况2 必须放在git工具目录中,但又不能提交的,比如保存了数据库密码的配置文件等的东西。 ———— 忽略之

情况3 我们不准备提交、又确实没啥没用的。————清理之

3 解决方法

按需选择合适的解决方法。

情况1:Add、Commit需提交的文件

git add textUntrackedFiles.txt

git commit -m "commit message..."

情况2:自动忽略(.gitignore)关键文件

  • 在git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,git就会自动忽略这些文件。

刚刚那个文件被忽略了。

情况3:清理掉不需要的文件

  • git clean 是从你的工作目录中删除所有没有tracked(未跟踪)过的文件

要知道这个命令很危险,删除了就找不到了。但如果已git add .就不会被删除。
参数说明:

  • n:显示将要被删除的文件以及目录
  • d:删除未被添加到git路径中的文件以及目录(将.gitignore文件标记的文件全部删除)。
  • f:强制执行(只会删除文件)
  • x:删除没有被track的文件
  • 使用案例
//是一个演习,告诉你那些文件会被删除,不会真正删除
git clean -n

//删除当前目录下所有没有track过的文件,.gitignore文件里指定的不会删除。
git clean -f

//删除指定路径下的没有被track过的文件
git clean -f <path>

//强制删除所有没有被track过的文件和文件夹,
git clean -df

//强制删除所有没有被track过的文件(.gitignore文件里指定的也不能避免)
git clean -fx

X 参考文献

标签:status,files,git,删除,文件,clean,Untracked
From: https://www.cnblogs.com/johnnyzen/p/18289560

相关文章

  • gitlab私有仓库搭建
    安全:关闭防火墙,selinux1.安装GItlab所需的依赖包yuminstallcurlpolicycoreutils-pythonopenssh-serverpostfixwget-y安装gitlab获取gitlab源码包选择各种yum源去安装https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.0.3-ce.0.el7.x86_64.rpm......
  • Github Copilot登录使用,很稳定的chat,不妨试试
    GithubCopilot代码补全等功能,提高写代码的效率获取地址:https://web.52shizhan.cn/activity/copilot如果之前是激活器激活的,请到环境变量里删除相关的copilot配置。①发你注册的github账号的邮箱或用户名给客服,客服邀请你进入组织时会发送一封邮件到你注册github的邮箱......
  • git fork模式、合并commit、多条commit修改指定的commit
    1、fork项目在github页面上,点击fork按钮,将B的项目拷贝一份到A自己的代码仓库中.2.克隆A自己的代码仓库到本地.gitcloneAgitremoteaddupstream <upsteam-url>:添加一个upstream远程仓库,指向一个公共的代码仓库,通常是原始项目的仓库(B)使用gitremote查看,可以看到有u......
  • git分支
    默认版本仓库只有一个分支,mastergitbranch直接看到当前版本仓库有几个分支以及有星星的哪个分支,就是你再用的[root@tomcat-10~/springboot-bucket]#gitbranch*master创建分支1.命令先创建好分支,再切换过去[root@tomcat-10~/springboot-bucket]#gitbranchliangl......
  • 推荐一个新手如何进阶玩转 GitHub 的开源项目,通俗易懂!(带私活源码)
    今天,给大家分享的是一个新手如何进阶玩转GitHub的开源项目。此新手,非彼新手。作者之前确实是没怎么用GitHub,但是人家是作者,作者不仅仅是写了篇文章那么简单。。。这个作者是《Git权威指南》的作者!!GotGitHub是GitHub的详细完整的权威介绍。1.为什么会有这个开源博客?......
  • Open-TeleVision:增强机器人学习的沉浸式遥开源操作系统 (https://robot-tv.github.io/
      每周跟踪AI热点新闻动向和震撼发展想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与未来同行!订阅:https://......
  • Git中如何设置区分文件名大小写
    Git在处理文件时是区分大小写的。如果你在Windows环境下创建文件时使用的是小写(如 Uploadfile.php),而在Linux环境下克隆仓库时文件名会保持原样,包括大写(如 UploadFile.php),这可能会导致你在不同的操作系统之间检出代码时出现问题。为了避免这种情况,你可以在Git中设置 core.ignor......
  • 如何第一次从零上传项目到GitLab
    嗨,我是兰若,今天想给大家说下,如何上传一个完整的项目到与LDAP集成的GitLab,也就是说这个项目之前是不在git上面的,这是第一次上传,这样上传上去之后,其他小伙伴就可以根据你这个项目的git地址,把代码克隆下载到自己的本地,这样有助于项目共享,也方便所有参与项目的小伙伴可以同步更新或......
  • git恢复到之前提交的记录
    项目搞崩了,还提交上去了怎么办?那当然是恢复到之前的提交记录了,那怎么操作呢?首先,到代码托管平台找到你想恢复的提交记录(在此以github为例)获取commitid首先,通过如下图操作获取到commitid{%asset_imgimage-20240706062921362.png'"...""文章配图"'%}{%asset_imgimag......
  • 收集了几个Github文件代理下载的站点
     收集了几个Github文件代理下载的站点1、GitClone 2、ghproxy 3、moeyy  最后实在不行可以去Gitee上边,新建仓库->从现有仓库导入,然后从gitee上下载 ......