1

这是我的分叉回购

这是一个非常大的仓库,有几十万次提交,分支深度超过 20 个。只有带有 (-r#) 标签的提交才适用于我的硬件。我有一个已应用于 sunxi-v3.4.24-r1 标签的补丁。

    git clone https://github.com/iceblu3710/linux-sunxi-xenomai
    git checkout sunxi-v3.4.24-r1
    git branch -t i-pipe-core-uminded
    git add .
    git commit
    git push origin/i-pipe-core-uminded

然后我想用上游内核更改重新设置该分支

    git for-each-ref --format '%(refname)' refs/tags
    NOTE: Any way to get the short hash of the commit with these tags?

这将列出 repo 的所有标签,这与我相关:

    refs/tags/sunxi-v3.4.24-r2
    refs/tags/sunxi-v3.4.29-r0

如何以干净的方式将我的分支重新定位到每个标签?

我的主要问题是 rebase 需要一个分支名称或哈希才能工作,它不接受标签,目前我不知道如何找到标签哈希,除了git log --all | grep "TAG"在这么大的 repo 上需要很长时间。

谢谢!

编辑 - 他们也是一种让 sunxi-v3.4.24-r1 标记我的 repo master 并丢弃它之前的所有提交的方法吗?我曾尝试使用 gitk 和 smartgit 之类的程序,但日志是如此之大,以至于内存不足。我永远不会合并下游,只会跟随该标签所在的上游分支。??

4

1 回答 1

1

要解决查找标签哈希的问题,可以使用以下命令:

git rev-parse TAG

这将显示提交哈希。

于 2013-02-21T05:22:08.530 回答