Git:没有添加到提交但存在未跟踪的文件
Posted
技术标签:
【中文标题】Git:没有添加到提交但存在未跟踪的文件【英文标题】:Git:nothing added to commit but untracked files present 【发布时间】:2016-02-04 10:26:35 【问题描述】:我是 Git 新手,也是第一次使用。如果有人可以帮助我,我将不胜感激。我试着在论坛上找到答案,但是有大量的命令出来了,不知道该用哪一个。
在 prod 服务器上,如果我执行 git pull
,它会给我以下错误:
未跟踪的文件: (使用“git add ...”来包含将要提交的内容)
Optimization/language/languageUpdate.php
email_test.php
nothing added to commit but untracked files present (use "git add" to track)
Please move or remove them before you can merge.
我不太确定如何使它工作。如果我删除它们,它将从哪里删除。感谢您的回复。
【问题讨论】:
【参考方案1】:这里有两个选择。您可以将未跟踪的文件添加到您的 Git 存储库(如警告消息所建议的那样),或者您可以将文件添加到您的 .gitignore
文件中,如果您想要 Git忽略它们。
要添加文件,请使用git add
:
git add Optimization/language/languageUpdate.php
git add email_test.php
要忽略这些文件,请将以下几行添加到您的 .gitignore
:
/Optimization/language/languageUpdate.php
/email_test.php
任何一个选项都应该允许 git pull
在之后成功。
【讨论】:
好的,如果我添加它们,是添加到服务器还是添加到我的本地? 棘手的问题。如果您使用git add
,那么文件将被您的 Git 存储库跟踪。这意味着它们将出现在本地或远程的任何分支中。如果您不希望发生这种情况,请使用.gitignore
选项。如果你真的不需要这些文件,你可以删除它们。
谢谢你,这样做之后,它说:错误:您对以下文件的本地更改将被合并覆盖:Optimization/language/update.php 请在您之前提交您的更改或存储它们可以合并。
您添加了一个新文件,Git 将其检测为更改。所以你必须通过git commit -m 'Added update PHP script'
来提交这个。
我个人喜欢this site,虽然那里有很多教程。掌握 Git 与其说是选择正确的教程,不如说是获得使用它的经验。你今天已经做到了:-)【参考方案2】:
除了手动添加每个文件,我们还可以执行以下操作:
git add --all
或
git add -A
这还将删除任何不存在或已删除的文件(当前工作目录中的跟踪文件现在不存在)。
如果您只想添加已跟踪并已更改的文件,您会想要这样做
git add -u
What is the difference between git add .
& git add --all
?
【讨论】:
我尝试了同样的事情,但它显示“警告:无法访问git add .
确保你包含.
【参考方案3】:
请遵循此流程
首先安装 git bash 并在 git 上创建一个仓库
1) 转到要远程推送的文件所在的工作目录并通过
创建 .git 文件夹$ git init
2) 在新的本地存储库中添加文件。
$ git add .
注意:当您在同一个文件夹中时,请确保您在命令后放置了点,如果您放置路径或不放置点会造成歧义
3) 提交您在本地存储库中暂存的文件。
$ git commit -m "First commit"**
4) 之后转到 git 存储库并复制远程 URL
$ git remote add origin *remote repository URL
5)
$ git remote -v
注意:这将要求 user.email 和 user.name 只需按照配置输入即可
6)
$ git push origin master
这会将整个提交的代码推送到存储库上的 FILE.git
我想我们已经完成了
【讨论】:
这解决了我的问题,我使用git reset --hard master
来重置我的“扭曲进度”,并执行此解决方案,它奏效了。谢谢!!【参考方案4】:
按照所有步骤操作。
第一步:初始化git
$ git init
第 2 步: 检查文件是否存在。
$git ls
第 3 步: 添加文件
$git add filename
第 4 步: 添加评论以显示
$git commit -m "your comment"
第 5 步: 链接到您的存储库
$git remote add origin "copy repository link and paste here"
第 6 步: 推送 Git
$ git push -u origin master
【讨论】:
【参考方案5】:如果您已经尝试使用 git add .
命令添加所有未跟踪的文件,请确保您不在根项目的子文件夹下。
git add .
会将您的所有文件暂存到当前子文件夹下。
【讨论】:
【参考方案6】:如果有人只关心错误nothing added to commit but untracked files present (use "git add" to track)
而不是Please move or remove them before you can merge.
。你可以看看Git - Won't add files?上的答案
您在这里找到至少 2 个适合该问题的候选者:您要么在子文件夹中,要么在父文件夹中,但不在实际的 repo 文件夹中。如果您在目录中的级别太高,这肯定会引发消息“没有添加到提交......”,有关详细信息,请参阅我在链接中的答案。我不知道当您在子文件夹中时是否会出现相同的消息,但很有可能。这可能符合你的解释。
【讨论】:
以上是关于Git:没有添加到提交但存在未跟踪的文件的主要内容,如果未能解决你的问题,请参考以下文章