我不知道如何HEAD为裸存储库设置参考。
抛出BareRepositoryExceptionwith 消息
Additional information: An error was raised by libgit2. Category = Repository (BareRepo).
当我尝试repo.Checkout(repo.Branches["balabala"])
我不知道如何HEAD为裸存储库设置参考。
抛出BareRepositoryExceptionwith 消息
Additional information: An error was raised by libgit2. Category = Repository (BareRepo).
当我尝试repo.Checkout(repo.Branches["balabala"])
签出确实会更新更新,但也会使用被签出HEAD的内容更新工作目录的当前内容。Commit
这确实不适用于裸存储库,因为没有工作目录。
在裸存储库中移动的正确方法HEAD是更新此引用的目标:
repo.Refs.UpdateTarget(repo.Refs.Head, repo.Refs["myBranch"])将更新HEAD以使其指向分支mybranch,同时保持连接
repo.Refs.UpdateTarget(repo.Refs.Head, repo.Refs["myBranch"].Tip.Id)将更新HEAD以使其直接到分支尖端的提交,从而分离HEAD
很好,我发现repo.Refs.UpdateTarget("HEAD", repo.Branches["master"].Tip.Sha),它的工作。