这是一个非常大的仓库,有几十万次提交,分支深度超过 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 之类的程序,但日志是如此之大,以至于内存不足。我永远不会合并下游,只会跟随该标签所在的上游分支。??