如何查询git以找出哪些分支包含给定的提交?gitk通常会列出分支,除非有太多分支,在这种情况下它只是说"很多(38)"或类似的东西.我需要知道完整列表,或者至少是否某些分支包含提交.
假设我有以下本地存储库,其中包含如下提交树:
master --> a
\
\
develop c --> d
\
\
feature f --> g --> h
Run Code Online (Sandbox Code Playgroud)
master是我的这是最新的稳定版本代码,develop是我的这个'下一个'版本代码,feature是一个正在准备的新功能develop.
我希望能够使用钩子在我的远程仓库上做什么,feature除非提交f是developHEAD 的直接后代,否则推送被拒绝.即提交树看起来像这样,因为功能已经git rebase打开d.
master --> a
\
\
develop c --> d
\
\
feature f --> g --> h
Run Code Online (Sandbox Code Playgroud)
那么有可能:
feature?f是后代的?从那里我将检查父分支的HEAD是什么,并查看f前任是否与父分支HEAD匹配,以确定该特征是否需要重新定位.
在github上,当我查看提交时,它会向我显示提交消息和更改,以及底部的任何注释.但是,它没有告诉我签入提交的分支.即使我'浏览代码',它正在浏览特定"树"的代码(可能是提交时的代码状态),而不是特定的分支.
我知道的git,承诺没有内在联系的一个分支,但他们肯定是总是会首先被提交到一个特定的分支?是不是用该分支标记了提交,我可以以某种方式查看它是哪个分支?
我试图用git实现一个用例.
使用案例:应该可以将元数据(如属性)添加到git工件.
我们计划为每个组件设置一个git repo,因此为每个提交对象应用一个注释可以实现此要求.
现在,还需要我们为组件中的文件提供元数据(在本例中为git repo).为此,我试图将一个注释附加到一个blob,这是一个提交的一部分.
它接受了笔记,甚至我能够将笔记推到中央仓库.
对于这个用例,这是一个安全可靠的git笔记用法吗?