我是Git的新手.我想克隆一个大型远程存储库xyzcodebase.repo的结构就像我有不同功能区域的src文件夹,如下所示.
xyzcodebase
|
|__ Func area 1
|
|__ Func area 2
Run Code Online (Sandbox Code Playgroud)
我Functional area 2在克隆时工作,我不想要Functional area 1(大尺寸)代码,这将节省我的大量时间.因此,克隆后Functional area 2,我的本地存储库中只有源代码.
有没有办法完成git存储库的这种选择性克隆?
在此先感谢您的帮助
如何克隆repo(使用libgit2)
我想要做什么git clone用,但确实libgit2.我可能会问的是,究竟是什么git clone深入.
这就是我到目前为止所做的事情:
git_remotegit checkout以某种方式做.而现在我不知道该怎么做.我唯一的猜测是加载.idx到a git_index并使用git_repository_set_index,但是也没有显示任何文件.
编辑
我测试git checkout master了在半克隆的回购上运行,这就完成了工作.现在我只需要了解如何使用libgit2进行操作,似乎问题跟踪器中有一些有用的信息.
编辑2
我现在将添加我当前的代码,希望有一天有人能发现它有用,希望能成为我从未找到的快速启动代码.注:我使用的是Obj-C和Objective-Git这里的,但它主要是纯C.
+ (GTRepository *)cloneFromRemoteURL:(NSURL *)remoteURL toLocalURL:(NSURL *)localURL
{
// Let's suppose the URL looks like: https://github.com/libgit2/libgit2.git
// Then we need to get a URL like this too: git://github.com/libgit2/libgit2.git
// This may be a bit dodgy, but it will …Run Code Online (Sandbox Code Playgroud) 试图克隆一个远程git存储库(裸),我得到几个错误,如下所示,之后git停止.
error: unable to create file frozen/email/lamson/mymailserver/run/queue/mark.name/cur/1361115664.1929_1.vps-pool-55:2,S (Invalid argument)
Run Code Online (Sandbox Code Playgroud)
如果我必须删除这些文件,也没关系,但如果我无法克隆,我找不到办法.
知道我能做什么吗?
我在Windows 7,64位工作.
我想查看我通过OpenVPN连接到的私有git repo的源代码.
我通过OpenVPN for Windows连接到私人服务器.建立连接并正常工作,我可以ping通过SSH连接到服务器.
接下来,我想通过来克隆git存储库
git clone http://username:pw@url/folder
Run Code Online (Sandbox Code Playgroud)
Bash立即显示
Cloning into "projektname"
remote: Counting Objects: 6772, done
remote: Compressing Objects: 100% (6389/6389),done
_
Run Code Online (Sandbox Code Playgroud)
然后挂起,没有错误,不知道会发生什么,我可以切断VPN连接以获取git的响应或按Ctrl+ C但没有别的.
git创建了一个文件夹projektname但除.git文件夹外它是空的.
我浏览了几个小时的论坛帖子,但没有发现同样问题的类似帖子.我试图获得有关git的更多信息
GIT_CURL_VERBOSE=1 GIT_TRACE=1 git clone ....
Run Code Online (Sandbox Code Playgroud)
但没有发现任何可疑的东西.我很感谢有关我还能尝试什么或者我需要研究的地方的任何想法.我尝试了几个不同的git客户端(cygwin,Tortoise,git bash,git gui).
我不想在我的机器上浪费空间,我只想查看存储库的历史(对于每个分支).这就是为什么,我做了一个:
git clone --no-checkout
Run Code Online (Sandbox Code Playgroud)
在我这样做之后,有人推了一些东西.我必须做一些事情再次更新历史,但我不知道是什么.当然,我可以使用git checkout和git pull,但我不需要文件,我只需要更新.git文件夹.我尝试使用git fetch,但似乎历史记录没有更新.
是否可以使用Git从远程存储库克隆单个文件?例如,我希望将其他人的.htaccess文件复制到我自己的项目中.我不需要他们的整个存储库,只需要这个文件.
我正在尝试在我的bitbucket帐户上克隆git repo,但在尝试克隆此repo时收到此错误消息.到我设置的新PC:
克隆到'xxxxx'...存储库访问被拒绝.部署密钥与请求的存储库无关.致命:无法从远程存储库读取.
请确保您具有正确的访问权限并且存储库存在.
当我尝试将这台新机器的ssh密钥添加到bitbucket时,我收到此错误:
有人已将此注册为部署密钥.
所以看起来我可能在某个阶段意外地将此机器的ssh密钥注册为部署密钥.你如何找到bitbucket中的哪个repo实际上将此密钥注册为部署(而不是常规ssh访问)密钥?
对不起,如果没有在理想的地方发布,如果还有一个相关的话,我会把它移到另一个SO部分.
我正在使用Visual Studio,正在尝试从运行gitlab的服务器上克隆在线仓库。叫服务器https://gitlab.example.com
尝试克隆存储库时出现以下错误
Remote: HTTP Basic: Access denied
Error encountered while cloning the remote repository: Git failed with a fatal error.
Authentication failed for 'https://gitlab.example.com/username/test.git/'
Run Code Online (Sandbox Code Playgroud)
尝试时,提示输入服务器的用户名和密码。我输入了创建存储库的用户的用户凭证。
我在stackoverflow 上的答案中发现了类似的问题,但这对我不起作用。
我正在使用Visual Studio 2017 Enterprise 15.7.2
有没有可能从 GitHub 克隆不完整的存储库,而只是克隆选定的分支?我发现可以使用命令进行单分支克隆:
git克隆git@github/path/to/repository.git --branch my_branch_1 --single-branch
所以想实现这样的目标:
git克隆git@github/path/to/repository.git --branch my_branch_1 --branch my_branch_2 --single-branch ??
这意味着只有其中两个。问题是,这样的存储库在主分支中相当大,开发人员不需要。他们只需要分支my_branch_1和my_branch_2。开发人员应该从这些分支创建他们的 dev 分支,然后在 GitHub 上向master拉取请求。
也许可以通过 git Remote add 或类似的东西。但我内部可能不太熟悉 Git 的概念。
我试图仅在不推送的情况下授予对克隆的访问权限。我知道如何创建个人访问令牌并创建,但问题是,我不确定要选择什么范围。
我几乎一一尝试了所有四个,甚至选择所有也不起作用。(不知何故,选择repo哪个将自动检查所有其他 4 个将起作用,但这将提供完全访问权限。我阅读了有关范围的文档https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for -oauth-apps/这并不能真正帮助我理解它。
repo Full control of private repositories
repo:status Access commit status
repo_deployment Access deployment status
public_repo Access public repositories
repo:invite Access repository invitations
Run Code Online (Sandbox Code Playgroud)
只需要克隆访问权限,不需要其他任何东西。
预先感谢您的任何帮助建议。
git-clone ×10
git ×9
github ×3
access-token ×1
bitbucket ×1
c ×1
clone ×1
gitlab ×1
objective-c ×1
openvpn ×1
repository ×1
ssh-keys ×1