删除分支问题

时间:2016-03-20 13:27:59

标签: git

我已提交标记" 1"

 git tag "1" <SHA-of-the-commit>

我也有名字&#34; 1&#34;

的分支
git checkout -b "1"

当我删除分支&#34; 1&#34;首先删除标签,然后在第二个操作中删除分支。

git branch -D 1

可以吗? 我可以选择删除分支或标记吗?

1 个答案:

答案 0 :(得分:0)

由于您使用的是jgit,因此您仍然可以使用irght 标记 API删除标记,如tst/org/eclipse/jgit/api/TagCommandTest.java中所示:

        git.commit().setMessage("initial commit").call();
        Ref tagRef = git.tag().setName("tag").call();
        assertEquals(1, db.getTags().size());

        List<String> deleted = git.tagDelete().setTags(tagRef.getName())
                .call();
        assertEquals(1, deleted.size());
        assertEquals(tagRef.getName(), deleted.get(0));
        assertEquals(0, db.getTags().size());

        Ref tagRef1 = git.tag().setName("tag1").call();
        Ref tagRef2 = git.tag().setName("tag2").call();
        assertEquals(2, db.getTags().size());
        deleted = git.tagDelete().setTags(tagRef1.getName(), tagRef2.getName())
                .call();
        assertEquals(2, deleted.size());
        assertEquals(0, db.getTags().size());

那应该删除标签&#34; 1&#34;只是,而不是名为&#34; 1&#34;。

的分支

删除分支(using the right API)同样如此:

public void testDelete() throws Exception {
    createBranch(git, "ForDelete", false, "master", null);
    git.branchDelete().setBranchNames("ForDelete").call();