我有我的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 repo中仅查看一个文件?
我有一个带git的项目,我只想克隆或拉出一个特定的目录,就像myproject/javascript一样,就像subversion一样.
进行一些更改,提交并再次推回.
这是可能的?
是否可以在Git中检出存储库的子目录?
想象一下,我正在设置一个新的WordPress安装.我将为我的插件和主题自定义创建两个新目录:
wordpress/wp-content/plugins/myplugins/ wordpress/wp-content/themes/mytheme/我想通过Git维护这些目录.在Subversion中,我将通过拥有trunk/myplugins/和trunk/mytheme/目录并检查子目录来实现这一目标.Git是否有办法使用单个存储库完成相同的任务?
我可能只是在一些Git范例中错过了这条船,因为很长一段时间的SVN用户很少接触Git.
编辑: 存储不同内容的多个分支是处理此问题的有趣方式.
我有一个有很多分支的项目.
我想同时在几个分支上工作而不用来回切换git checkout.
除了在其他地方复制整个存储库之外,我有什么方法可以做到这一点?
我希望从以下链接下载mysite文件夹:https: //github.com/username/repository/master/
根据这个帖子,Git的sparse-checkout功能中的排除应该被实现.是吗?
假设我有以下结构:
papers/
papers/...
presentations/
presentations/heavy_presentation
presentations/...
Run Code Online (Sandbox Code Playgroud)
现在我想presentations/heavy_presentation从收银台中排除,而将其余部分留在收银台.我没有设法让这个运行.什么是正确的语法?
有一个目录结构的远程仓库:
-directory1
-file1_1
-file1_2
...
-directory2
-file2_1
-file2_2
...
Run Code Online (Sandbox Code Playgroud)
我在网站托管上有一个文件夹,其中包含自定义名称,例如"/ path/public_html".
如何在Web托管上设置git,以便我的"public_html"跟踪远程仓库的子目录"directory2"?
所以,换句话说,我想在web主机上执行某种形式的git命令,并将public_html更新为"directory2"的最新内容.如果它有帮助,我不关心从网络托管推回回购.
我试图从以下几个教程步骤中重现:
https://github.blog/2020-01-17-bring-your-monorepo-down-to-size-with-sparse-checkout
这是为 git 2.25 制作的,但现在在 2.27 中,运行时什么也没有发生:
$ git sparse-checkout set client/android
Run Code Online (Sandbox Code Playgroud)
我找不到让它工作的方法。
这是一个 MWE:
$ git clone --no-checkout https://github.com/derrickstolee/sparse-checkout-example
Cloning into 'sparse-checkout-example'...
$ cd sparse-checkout-example/
$ git sparse-checkout init --cone
Run Code Online (Sandbox Code Playgroud)
使用 git 2.25,我获得了一个非空目录:
$ ls -a
. .. bootstrap.sh LICENSE.md README.md .git
Run Code Online (Sandbox Code Playgroud)
使用 git 2.27,我获得了一个空目录:
$ ls -a
. .. .git
Run Code Online (Sandbox Code Playgroud) git ×10
directory ×2
file ×2
github ×2
repository ×2
branch ×1
git-checkout ×1
git-clone ×1
pull ×1
subdirectory ×1
ubuntu-14.04 ×1