问题描述
我想编写一个C#程序,开发人员可以使用它来克隆几个添加了工作树的git repos。 所以我的主要想法是使用libgit2sharp克隆例如一个母版,并添加带有检出的“ develop”分支(已经存在)的工作树
我还没有找到太多有关如何使用工作树功能的信息- 当我使用.bat时,我记得似乎有一个(曾经有过)限制,如果我想添加一个工作树,我必须已经在本地创建了该分支,否则将在本地创建一个具有相同名称的分支。>
基本上类似于:
cd C:\gittryout\testrepo\
git clone REPO master
cd master
//to cicumvent creating a local branch develop if it hasn't been checked out already
git checkout develop
git checkout master
git worktree add --checkout ../develop develop
那会给我
C:\gittryout\testrepo\master (with master)
C:\gittryout\testrepo\develop (with develop)
public void TryToCloneWithWorktree()
{
string Username = "acorrectusername";
string Password = "acorrectpw";
string RepositoryUrl = @"path/to/git/testrepo";
var co = new CloneOptions();
co.CredentialsProvider = new CredentialsHandler(
(url,usernameFromUrl,types) =>
new UsernamePasswordCredentials()
{
Username = Username,Password = Password
}
);
co.BranchName = "master";
string RepositoryPath = @"C:\gittryout\testrepo\master";
string WorktreePath = @"C:\gittryout\testrepo\develop";
string WorktreeSHA1 = "develop";
using (var repo = new Repository())
{
Repository.Clone(RepositoryUrl,RepositoryPath,co);
repo.Worktrees.Add(WorktreeSHA1,WorktreeSHA1,WorktreePath,false);
}
}
但是运行此命令后,克隆是正确的(使用分支主服务器),并且在其中驻留了具有目标。\ testing的快捷方式_git2_a40776
我是否也需要克隆添加的工作树,或者如何使用libgit2sharp实现蝙蝠在C#中所做的工作?
br
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)