也许之前曾有人问过,但我找不到明确的答案。当我需要使用gitlib2sharp列出存储库的分支时,真的需要首先克隆到本地存储库吗?那是什么意思?我只想克隆一个特定的分支,就像使用git clone https://bla/repo.git -b branch1一样
现在,我首先需要进行本地结帐,然后获取分支,然后从那里进行第二轮。
我在这里想念什么吗(希望我这样做)。
TIA为您解答!
罗纳德·格茨
更新(以待评论):好的,这是用例。一家公司提供了ssrs报告,我们需要通过TAP进行部署。所以我的想法是通过Git做到这一点。对于每个更改,让他们创建一个分支,在此分支中上载/更改/等。并迭代此分支中的更改,直到一切正常为止。在迭代中,他们应该至少能够(重新)部署自己。在最后阶段,我们将分支合并到P中的master和(重新)master中。在Github中,您可以完全“点击”此流程,但是当然,我想自动执行此操作,最好以某种方式按下按钮,因此他们不需要我。那么,这里最好的编程选择是什么?当他们建立分支并开始在T中部署时,我应该创建(克隆)存储库,将本地存储库指向特定分支,获取文件(.sql和。rdl文件)并执行/上传这些文件?我不知道克隆克隆存储库时会克隆所有分支。到目前为止,已经谢谢你了!
如果您想使用libgtk2sharp进行git clone https://bla/repo.git -b branch1之类的操作,请尝试以下操作:
var exampleRepositoryUrl = "https://github.com/npgsql/npgsql.git";
var exampleDestinationFolder = "branch-hotfix-3.0.8";
var exampleBranchName = "hotfix/3.0.8";
var repositoryClonedPath = Repository.Clone(exampleRepositoryUrl,
exampleDestinationFolder,
new CloneOptions()
{
BranchName = exampleBranchName
});
using (var clonedRepo = new Repository(repositoryClonedPath))
{
// ...
}
要列出远程分支的名称而不克隆存储库,您可以使用如下代码:
var branches = Repository.ListRemoteReferences(exampleRepositoryUrl)
.Where(elem => elem.IsLocalBranch)
.Select(elem => elem.CanonicalName
.Replace("refs/heads/", ""));
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句