Libgit2sharp, выдвигая указанную ветку c на новый пульт - PullRequest
1 голос
/ 28 марта 2020

Я пишу do tnet api для клонирования из github, затем pu sh специфическую ветку c для AWS codecommit с использованием библиотеки Libgit2sharp.

  • У меня есть две ветви в gitHubRepo: origin / release и origin / refactor.
  • origin / release - это DEFAULT git branch
  • Я хочу клонировать gitHubRepo и pu sh ветку origin / refactor в codecommit

Проблема : мне кажется, я не могу получить его в pu sh указанной мной ветке в codecommit, всегда кажется, что pu sh имеет значение HEAD. Я не знаю, как изменить ГОЛОВКУ, или даже не знаю, в этом ли проблема.

Фрагмент кода:

var baseRefBranch = gitHubRepo.Branches[$"origin/refactor"];
if (baseRefBranch == null) throw new Exception("refactor branch was null...");

logger.LogInformation($"Checking out branch: {baseRefBranch.CanonicalName}");
Commands.Checkout(gitHubRepo, baseRefBranch);

logger.LogInformation($"Update branch {baseRefBranch.CanonicalName}, set remote name {codeCommitRemote.Name}, set upstreamBranch to {baseRefBranch.CanonicalName}");
        gitHubRepo.Branches.Update(baseRefBranch,
            b => b.Remote = codeCommitRemote.Name,
            b => b.UpstreamBranch = baseRefBranch.CanonicalName);

var refSpec = $"+{baseRefBranch.CanonicalName}";
logger.LogInformation($"Trying to push to remote: {codeCommitRemote.Name}, refSpec: {refSpec}");
gitHubRepo.Network.Push(codeCommitRemote, refSpec, pushOptions);

Любая помощь приветствуется ... Приветствия

1 Ответ

1 голос
/ 28 марта 2020

Попробуйте использовать complete refsep c при нажатии

Формат параметра <refspec> является необязательным плюсом +, за которым следует исходный объект <src>, за которым следует двоеточие :, за которым следует пункт назначения <dst>.

В вашем случае:

+refs/heads/refactor:refs/heads/refactor
...