-
Notifications
You must be signed in to change notification settings - Fork 896
git branch
Dave Senn edited this page Feb 9, 2015
·
14 revisions
$ git branch
using (var repo = new Repository("path/to/your/repo"))
{
foreach(Branch b in repo.Branches.Where(b => !b.IsRemote))
{
Console.WriteLine(string.Format("{0}{1}", b.IsCurrentRepositoryHead ? "*" : " ", b.Name));
}
}
$ git branch --contains <commit>
using (var repo = new Repository("path/to/your/repo"))
{
const string commitSha = "5b5b025afb0b4c913b4c338a42934a3863bf3644";
foreach(Branch b in ListBranchesContainingCommit(repo, commitSha))
{
Console.WriteLine(b.Name);
}
}
private IEnumerable<Branch> ListBranchesContainingCommit(Repository repo, string commitSha)
{
foreach (var branch in repo.Branches)
{
var commits = repo.Commits.QueryBy(new CommitFilter { Since = branch }).Where(c => c.Sha == commitSha);
if (!commits.Any())
continue;
yield return branch;
}
}
$ git branch develop
using (var repo = new Repository("path/to/your/repo"))
{
repo.CreateBranch("develop"); // Or repo.Branches.Add("develop", "HEAD");
}
$ git branch other HEAD~1
using (var repo = new Repository("path/to/your/repo"))
{
repo.CreateBranch("other", "HEAD~1"); // Or repo.Branches.Add("other", "HEAD~1");
}
To be done
To be done
To be done
To be done