如何在文件夹中添加文件,而不是文件夹本身

时间:2015-06-12 13:56:40

标签: git github

如果您喜欢我,并且您喜欢在GitHub上保存分支内容的文件夹,那么在Windows(或Linux / Mac无论如何)上看起来干净整洁:

e.g。

github -> project -> .git
                  -> gh-pages -> index.html
                              -> assets -> main.css
                                        -> main.js
                                        -> jQuery.js
                  -> dev
                  -> master

如果您按照我的层次结构,您可以看到我在gh-pages中有文件,但是当我使用

$ git checkout gh-pages
$ git add gh-pages/*
$ git ls-tree -r --name-only gh-pages

文件出现了!但是当我提交并将它们推送到GitHub时,父文件夹被上传到gh-pages分支中,而不是我添加的文件。

真的很困惑......

P.S。我是git的新手

1 个答案:

答案 0 :(得分:2)

这不是Git的工作方式。您的工作副本中任何时候都只能看到一个分支。试图让它工作,否则只会伤害你自己。

一种可能的解决方法是在同一个存储库中放置多个克隆,每个克隆看一个不同的分支:

github -> project -> gh-pages -> .git
                              -> index.html
                              -> assets -> main.css
                                        -> main.js
                                        -> jQuery.js
                  -> dev      -> .git
                  -> master   -> .git

如果分支机构不共享共同祖先(这是gh-pages的典型特征),您甚至不需要跟踪每个克隆中的其他分支,因此开销将是最小的。