我有我的Git存储库,它在根目录下有两个子目录:
/finisht
/static
Run Code Online (Sandbox Code Playgroud)
当这是在SVN,/finisht
在一个地方签出,而/static
在其他地方查出来,像这样:
svn co svn+ssh://admin@domain.com/home/admin/repos/finisht/static static
Run Code Online (Sandbox Code Playgroud)
有没有办法用Git做到这一点?
如何从GitHub上托管的远程Git仓库中仅下载特定文件夹或目录?
举个例子说GitHub repo住在这里:
git@github.com:foobar/Test.git
Run Code Online (Sandbox Code Playgroud)
其目录结构:
Test/
??? foo/
? ??? a.py
? ??? b.py
??? bar/
??? c.py
??? d.py
Run Code Online (Sandbox Code Playgroud)
我只想下载foo文件夹而不是克隆整个Test项目.
我不清楚以下是什么意思(来自git submodule update docs):
...将使子模块HEAD分离,除非
--rebase
或--merge
指定...
怎么--rebase
/ --merge
改变事情?
我的主要用例是有一堆中央存储库,我将通过子模块嵌入到其他存储库中.我希望能够改进这些中央回购,直接在他们的原始位置,或从他们的嵌入回购(通过子模块使用它们的那些).
我正在使用包含大量文件的存储库,这需要几个小时才能结账.我正在研究Git是否能够很好地使用这种类型的存储库,因为它支持稀疏检出,但我能找到的每个示例都执行以下操作:
git clone <path>
git config core.sparsecheckout true
echo <dir> > .git/info/sparse-checkout
git read-tree -m -u HEAD
Run Code Online (Sandbox Code Playgroud)
这个命令序列的问题是原始克隆也执行结帐.如果将-n添加到原始克隆命令,则read-tree命令会导致以下错误:
错误:稀疏结账不会在工作目录上留下任何条目
如何在不先检出所有文件的情况下进行稀疏结账?
有没有办法git pull
存储库中的所有文件夹,但有一个?我不想创建一个.gitignore文件,因为其他人可能想要这个文件夹 - 它现在对我来说太大了.
谢谢!
我有一个git repo,我想做一个拉.git pull
没有任何问题,我做正常.问题是我只想要一个特定的目录.我的想法是我可以使用.gitignore
这样的规则的文件:
#Ignore all files
/
#Except the one I want
!/temp
Run Code Online (Sandbox Code Playgroud)
问题是这不起作用.这是正确的方法还是有更好的方法?
git ×6
repository ×2
directory ×1
file ×1
git-checkout ×1
git-clone ×1
git-fetch ×1
git-pull ×1
github ×1
subdirectory ×1