一个git分支的所有内容都在master中,并且是master之后的X次提交吗?

egmofgnx  于 2023-05-05  发布在  Git
关注(0)|答案(1)|浏览(133)

我最近加入了一个项目,我们有一个主分支但也有很多多年没有使用过的过时分支。我必须清理repo,以便最后只剩下master分支。
现在我已经看到大多数分支只有“master之后的XXX次提交”(并且master之前没有提交)。这是否意味着这些分支就像是主分支在那个特定时间点的截图?所以它们的内容,如果没有被master分支的提交显式删除,也应该在master分支中,对吗?
对于上下文:我并不想更新旧的分支,我只是想弄清楚我是否可以删除它们,如果它们的内容包含在master中,或者已经在master中显式删除,情况就是这样。

e3bfsja2

e3bfsja21#

你可以使用这个命令:

git merge-base --is-ancestor <commit sha-1> HEAD

从man page:

--is-ancestor
           Check if the first <commit> is an ancestor of the second <commit>, and
           exit with status 0 if true, or with status 1 if not. Errors are signaled
           by a non-zero status that is not 1.

checkout master,使用SHA-1散列作为分支的提示,如果SHA-1包含在master中,则该命令将给您0。

相关问题