我在我的 git 存储库中添加了一个新的子目录:
git add feeds
然后提交了这个并将其推送到 GitHub,但似乎我已经提交了一个符号链接/快捷方式,而不是其中的实际目录和文件。
见这里:http: //github.com/G4EGK/RSS-Reader
知道什么是“饲料”吗?
我想删除它并正确添加我的文件。我尝试了以下方法,但git status
说没有任何改变:
git rm feeds
git add feeds/\*.php
要删除提要,我是否运行以下命令?
git filter-branch --tree-filter 'rm -f feeds' HEAD
更新
谢谢韦斯。
$ ls -l
total 16
-rw-r--r--@ 1 greg staff 890 2 Apr 19:11 README.md
drwxr-xr-x 10 greg staff 340 3 Apr 09:30 feeds
-rw-r--r--@ 1 greg staff 372 2 Apr 19:24 rssreader.php
drwxr-xr-x 3 greg staff 102 2 Apr 15:23 tests
drwxr-xr-x 7 greg staff 238 2 Apr 15:44 transfer
$ git submodule feeds
No submodule mapping found in .gitmodules for path 'feeds'
git filter-branch
没有从我的仓库中删除这个子模块(当我查看时它仍然被跟踪git status
)
为了消除这个错误,我恢复了最后两次提交(我尝试添加提要类)。
$ git log
commit 276b2392....
Author: Greg K <...@gmail.com>
Date: Sat Apr 3 23:40:14 2010 +0100
Add feed classes
commit d9814942....
Author: Greg K <...@gmail.com>
Date: Sat Apr 3 23:37:52 2010 +0100
Add feed classes
commit 2b7fb93a....
Author: Greg K <...@gmail.com>
Date: Fri Apr 2 19:47:09 2010 +0100
Use auto-detect line length for fgets()
使用了命令:
git rebase -i HEAD~3
然后我删除了提交 2 和 3,留下了第一行(我在 4 月 2 日的提交),保存了我的更改(:wq)并强制推送到 GitHub。
git push origin +master
现在我的 GitHub 存储库又回到了添加提要之前的位置。
我最初的错误是在最初添加提要时忘记在末尾使用斜杠。我应该用
git add feeds/