我不知道如何HEAD
为裸存储库设置参考。
抛出BareRepositoryException
with 消息
Additional information: An error was raised by libgit2. Category = Repository (BareRepo).
当我尝试repo.Checkout(repo.Branches["balabala"])
我不知道如何HEAD
为裸存储库设置参考。
抛出BareRepositoryException
with 消息
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)
,它的工作。