I have a git repository with a bunch of large csv in them, which I don't want to clone, so I came across git sparse-checkout and this post: https://github.blog/2020-01-17-bring-your-monorepo-down-to-size-with-sparse-checkout/
From this post I took following:
git clone --no-checkout https://github.com/john_doe/repo-with-big-csv.git
cd repo-with-big-csv
git sparse-checkout init --cone
Run Code Online (Sandbox Code Playgroud)
Then I edit the .git/info/sparse-checkout and add the following (adapted from example in page above):
/*
!**/*.csv
Run Code Online (Sandbox Code Playgroud)
但它似乎不能正常工作。有些文件夹克隆后git pull,有些则没有。我还注意到一个警告,当我这样做时,git sparse-checkout list我得到:
warning: unrecognized pattern: '**/*.csv'
warning: disabling cone pattern matching
/* …Run Code Online (Sandbox Code Playgroud) 假设我有两个具有特定模块(或子目录)的存储库,如下所示:
repo1/
/module1
/module2
/module3
repo2/
/module4
/module5
Run Code Online (Sandbox Code Playgroud)
因此,在我的测试服务器上,我按原样加载这些存储库,而且没问题,因为我获得了所有代码。但是在客户端服务器上,假设我只需要他的项目模块(假设是)repo2,而且还需要上一个项目的一个模块(即)repo1。
有没有一种方法可以让我从repo1only进行克隆module1,然后如果我要更新repo1中更改的任何内容module1,当我执行pullfor repo1(仅克隆部分存储库)时,它会更新它?
更新 所以在客户端服务器上会有两个像这样的存储库:
repo1/
/module1
repo2/
/module4
/module5
Run Code Online (Sandbox Code Playgroud) 我在GitHub Enterprise中有一个大型仓库,需要在我的Jenkins构建服务器上克隆一个子目录,然后构建该子目录.我正在使用管道脚本并立即拥有此功能:
node {
stage ('checkout') {
git url: 'git@github.devops.mycompany.local:Org/MyLargeRepo.git'
}
}
Run Code Online (Sandbox Code Playgroud)
我想要的是克隆 github.devops.mycompany.local:Org/MyLargeRepo/path/to/subproject
我知道我可能需要使用稀疏检出,但似乎无法解决如何在Jenkins管道脚本中配置它.有任何想法吗?
我正在研究一个使用多个应用程序(python模块)的django项目.大多数python模块都由其他人在自己的git存储库中维护.我使用git-submodules命令将它们导入到'apps'目录下的项目中,如下所示:
mysite/
mysite/apps
mysite/apps/django-extensions
mysite/apps/django-celery
mysite/apps/django-comments
mysite/apps/myapp
...etc
Run Code Online (Sandbox Code Playgroud)
大多数子模块(例如django-extensions)都有一个包含实际python模块的子文件夹:mysite/apps/django-extensions/django_extensions
这意味着我不能简单地将我的python路径设置为包含mysite/apps - 我必须将其设置为包含mysite/apps/django-extensions,以便它可以导入django_extensions子文件夹.
打字令人烦恼:
PYTHONPATH=mysite/apps/django-extensions:mysite/apps/django-celery... python manage.py runserver
Run Code Online (Sandbox Code Playgroud)
是否有更简单的方法来布置我的回购?一个简单的过程?只是为了好玩,我尝试了一个mysite/apps/*的PYTHONPATH,但这不起作用.
我正在处理存储库的一部分,我只想用我已经提交的代码保存目录.我正在寻找一个命令将一个特定的提交保存到一个目录中.该提交可能属于我的或我的团队成员.