Ibr*_*fal 0 git commit github libgit2sharp
考虑以下,我在 github 上有两个分支:master 和 dev。我有一个本地存储库,它是一个克隆并指向远程 master,但我想将它切换到 dev 分支,以便我所做的任何更改都将提交给 dev 而不是 master。需要采取哪些步骤才能做到这一点?我尝试了多种方法,但它们似乎从未奏效,并且始终致力于掌握。请简单解释一下,因为我还是 Git 和 libgit2sharp 的新手,所以我仍在努力解决它。
编辑:我使用 libgit2sharp 库来发出 git 命令,而不是 Git shell
如果您还没有一个本地分支命名dev
,但您的远程确实有一个dev
分支,然后在运行git checkout dev
将创建一个新的dev
本地分支,成立了远程跟踪信息,然后切换到新创建的分支。您可以在 LibGit2Sharp 中模拟这种行为。
要创建dev
跟踪远程dev
分支 ( refs/remotes/origin/dev
)的本地分支,首先定位远程分支:
Branch trackedBranch = repo.Branches["origin/dev"];
Run Code Online (Sandbox Code Playgroud)
然后创建一个名为的新本地分支dev
,该origin/dev
分支指向与该分支相同的提交:
Branch localBranch = repo.CreateBranch("dev", trackedBranch.Tip);
Run Code Online (Sandbox Code Playgroud)
然后设置本地和远程分支之间的跟踪:
repo.Branches.Update(localBranch, b => b.UpstreamBranch = "refs/heads/dev");
Run Code Online (Sandbox Code Playgroud)
最后,切换到新分支:
LibGit2Sharp.Commands.Checkout(repo, "dev");
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2525 次 |
最近记录: |