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.txtgit add . 将新文件 README.txt 设置为暂存。最后使用git commit -m 'message' 提交更改。

【讨论】:

谢谢 Marina - 我发现这个和所有这些建议很有帮助

以上是关于git提交空目录的主要内容,如果未能解决你的问题,请参考以下文章

提交空目录到GIT遇到的问题

git 无法提交空目录

git-忽略已提交的文件或目录

webstorm 怎么禁止git提交.idea目录

git配置忽略文件(已提交文件和目录的忽略)

.gitkeep--git提交空目录的解决方法