git提交空目录
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git提交空目录相关的知识,希望对你有一定的参考价值。
参考技术A 有时候你新建了一个空目录,但是 git status 查看的时候却看不到, git add 也无法提交。
这是因为 git 的设计初衷是跟踪 文件变化 ,不跟踪目录变化,所以仅仅一个空目录是不会被识别的。
注意在项目的 .gitignore 中不要加这个文件。
主目录中的 Git Init - 现在无法提交更改
【中文标题】主目录中的 Git Init - 现在无法提交更改【英文标题】:Git Init in home directory - now unable to commit changes 【发布时间】:2017-09-04 17:04:54 【问题描述】:这里是 Git 新手,这是我第一次在 bash 上使用 git,我在我的主目录中做了 git init。 我意识到这是错误的,然后使用 rm -rf $HOME/.git 撤消它。
现在,当我尝试在另一个名为 git-practice 的目录中提交更改时,它会显示分支 master 并且不会提交我添加到暂存区域的任何文件。
当我尝试 git add 时,终端中出现以下内容:
在主分支上
初始提交
未跟踪的文件:(使用“git add ...”来包含将要提交的内容)
README.txt
没有添加到提交但存在未跟踪的文件(使用“git add”进行跟踪)
我很困惑,我该如何解决这个问题?
【问题讨论】:
你不能在 Git 仍然知道旧位置的分支的情况下切换目录。您的选择包括再次克隆到新文件夹位置,或者可能将您的.git
文件夹移动到新位置。
在我的主目录中使用 -rf $HOME/.git 后,那里不再有 .git 文件夹。但我在 git-practice 目录中有一个 .git 文件夹。删除 .git 文件夹是不是我错了?
删除该文件夹完全没问题。如果到目前为止您没有向 git-practice 文件夹添加任何内容,请尝试删除该 .git 目录并使用新的 git init 重新启动您的跟踪
你可能只需要git add .
而不仅仅是git add
。换句话说,指定您要添加的什么。
【参考方案1】:
首先,请使用git rev-parse --show-toplevel
检查输出是否为git-practice
目录。如果是,则表示您正在处理此 repo。
然后使用git-practice
文件夹中的git repo。您可以使用git add README.txt
或git add .
将新文件 README.txt 设置为暂存。最后使用git commit -m 'message'
提交更改。
【讨论】:
谢谢 Marina - 我发现这个和所有这些建议很有帮助以上是关于git提交空目录的主要内容,如果未能解决你的问题,请参考以下文章