git 如何在BitBucket中只看到我的分支?

idfiyjo8  于 2023-04-19  发布在  Git
关注(0)|答案(4)|浏览(191)

我在一个非常大的项目中与一个团队合作,我们使用git和bitbucket进行版本控制。
因为在我们的git仓库中有很多旧的分支,我们的项目负责人要求我们删除所有我们不再使用的旧分支。
我如何只看到我在Web UI中创建的分支?这样我就可以轻松删除它们。

xdyibdwo

xdyibdwo1#

是的,可以知道谁在Bitbucket服务器中创建或删除了一个分支,但你需要访问数据库。每当删除一个分支时,哈希值从一个版本号移动到000000000系列,反之亦然。你可以在连接到数据库后使用以下命令进行检查:
A)select * from sta_repo_push_ref | grep <branch_name>;
然后寻找类似下面的内容,其中第一列是活动ID,第三列的值是'1',这意味着分支创建:

20034 | refs/heads/feature_<branch_name> | 1 | 0000000000000000000000000000000000000000 | 1e624235uhjdhhghlb6200cdbc86a4458fc1dfbf5

B)select * from sta_activity where id = 20034;,它将在最后一列中给予user_id:

20034| 6 | 2019-09-09 18:24:24.864 | 34

C)最后是select * from sta_normal_user where user_id = 34;,这里是创建分支的名称。

user_id | name | slug | locale | deleted_timestamp | time_zone
---------+----------------+----------------+--------+-------------------+-----------
34| <Culprit_Name> | <Culprit_Name>| | |
sq1bmfud

sq1bmfud2#

我觉得建议你从命令行的一些步骤。
我认为你可以开始列出你创建的所有分支:
git for-each-ref --format=' %(authorname) %09 %(refname)' --sort=authorname | grep 'youauthorname'
之后,您可以使用以下命令轻松删除这些分支:
git push -u --delete branch1 branch2 ...
告诉我

lo8azlld

lo8azlld3#

在客户端可能更容易做到这一点。
在终端中,您应该能够用途:git log --author=<your email> --format=%H %D
这将列出你创建的所有提交的短哈希值,然后是指向这些提交的任何分支。除非其他人提交到你的分支,否则这应该包括你的所有分支。
请记住,这将包括本地分支以及服务器上的分支。Bitbucket服务器上的分支将以<remote name>/开始。除非您为远程指定了另一个名称,否则通常会是origin
在开始之前,请确保git fetch
作为一个旁注,如果你想在将来避免这种情况,我建议把你的名字或首字母放在分支名称中。例如,xyz/myBranch。这将使你在将来更容易找到你创建的分支。

mctunoxg

mctunoxg4#

在我的~/.gitconfig中有这个

[alias]

# branch owners(last commit) on remote 
        bown = for-each-ref --sort=committerdate refs/remotes/ --format='%(HEAD) %(color:yellow)%(refname:short)%(color:reset) - %(authorname) (%(color:green)%(committerdate:short)%

然后我就像这样git bown | grep my-name
注意:这只依赖于最后提交的所有者

相关问题