代码之家  ›  专栏  ›  技术社区  ›  Greg K

我在github上的目录怎么了?

  •  2
  • Greg K  · 技术社区  · 14 年前

    我在git respository中添加了一个新的subdir:

    git add feeds
    

    然后提交它并将其推送到github,但似乎我提交了一个symlink/快捷方式,但没有提交其中的实际目录和文件。

    请参见这里: http://github.com/G4EGK/RSS-Reader

    知道什么是“feeds”吗?

    我想删除它并正确地添加我的文件。我试过下面的,但是 git status 说什么都没变:

    git rm feeds
    git add feeds/\*.php
    

    要删除源,是否运行 the following ?

    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 没有从我的repo中删除此子模块(当我查看 GIT状态 )

    为了消除这个错误我 reverted the last two commits (我试图添加提要类)。

    $ 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
    

    然后我删除了commits 2&3,留下了最上面的一行(4月2日的commit),保存了我的更改(:wq),并强制推送到github。

    git push origin +master
    

    现在,我的github repo回到了添加feed之前的位置。

    我最初的错误是在最初添加提要时忘记在末尾使用斜线。我应该用

    git add feeds/
    
    1 回复  |  直到 14 年前
        1
  •  2
  •   wesgarrison    14 年前

    看起来你添加了 feeds 作为子模块。检查提交: http://github.com/G4EGK/RSS-Reader/commit/276b2392acd2abbd1fadb310768796675d287771

    检查 git submodule status