origin/master && git pull 清理和回收空间: git for-each-ref --format='delete %(refname)' refs/original | git update-ref
如果想更新某个引用,Git 提供了一个更加安全的命令 update-ref 来完成此事: $ git update-ref refs/heads/master 1a410efbd13591db07496601ebc7a059dd55cfe9...若想在第二个提交上创建一个分支,可以这么做: $ git update-ref refs/heads/test cac0ca 这个分支将只包含从第二个提交开始往前追溯的记录: $ git log --...当运行类似于 git branch (branchname) 这样的命令时,Git 实际上会运行 update-ref 命令,取得当前所在分支最新提交对应的 SHA-1 值,并将其加入你想要创建的任何新引用中...可以像这样创建一个轻量标签: $ git update-ref refs/tags/v1.0 cac0cab538b970a37ea1e769cbbde608743bc96d 这就是轻量标签的全部内容—
请使用下面代码 git update-ref -d refs/remotes git fetch 使用了之后就可以了。
-- --all 再删除缓存的对象,顺便瘦身一下: 1 2 3 git for-each-ref --format='delete %(refname)' refs/original | git update-ref
确保没有什么问题之后,强制解除对本地存储库中的所有对象的引用和垃圾收集 git for-each-ref --format='delete %(refname)' refs/original | git update-ref
tag-name-filter cat -- --all 5.进行 repack $ git for-each-ref --format='delete %(refname)' refs/original | git update-ref
解决方法:可以使用git update-ref -d HEAD命令来实现想要的效果。尝试过后,发现commit被成功撤销,仍然保留了add后的结果。
backup with -f 出现这一句说明之前曾经执行过 git filter-branch ,在 refs/original/ 有一个备份,这个时候只要删掉那个备份即可,删除备份命令为: $ git update-ref
no original merge commit was # specified); use -c to reword the commit message # u, update-ref...no original merge commit was # specified); use -c to reword the commit message # u, update-ref
git fetch -p origin git for-each-ref --format 'delete %(refname)' refs/pull | git update-ref
ignore-unmatch ****/nohup.out' HEAD git for-each-ref --format="%(refname)" refs/original/ | xargs -n 1 git update-ref
notes update-index diff-tree p4 update-ref
. # If this is not correct, please run # git update-ref -d MERGE_HEAD # and try again.
cac0cab538b970a37ea1e769cbbde608743bc96d second commit fdf4fc3344e67ab068f836878b6c4951e3b15f3d first commit 不提倡直接编辑引用文件,可以通过update-ref...更新某个引用 $ git update-ref refs/heads/master 1a410efbd13591db07496601ebc7a059dd55cfe9 比如新建一个分支(git分支的本质:...一个指向某一系列提交之首的指针或引用) $git update-ref refs/heads/feature-zhangsan cac0ca 1.3.2 符号引用 符号引用(symbolic reference
你可以强制你的本地仓库中的所有对象被解除引用和垃圾收集,使用下面的命令(使用Git 1.8.5或更新的版本): git for-each-ref --format='delete %(refname)' refs/original | git update-ref
Git提供了一个API让我们更新引用-update-ref,示例如下 $ git update-ref refs/heads/master 2616 # 2616为之前浮现commit log创建的commit
更新某个引用 # 方式一 $ echo "1b63b62c89014812fb7d00c6c47b80abcec286e0" > .git/refs/heads/master # 方式二 $ git update-ref...# 在第一次提交上创建一个分支“test” $ git update-ref refs/heads/test 1b63b62c89014812fb7d00c6c47b80abcec286e0 $ git...(1)创建一个轻量标签 $ git update-ref refs/tags/v1.0.0 21b61e04b11b0bb6e8aedd8d21132974a23630be (2)查看创建标签对象的SHA
由于 git 会记录下每次修改 HEAD 的操作,当执行提交或修改分支的命令时 reflog 就会更新(执行 git update-ref 命令也可以更新 reflog),因此可以执行 git reflog
git reset --hard refs/original/refs/heads/{branch_name} 还可以继续拆分,这个时候拆分需要先清除一下备份~ git update-ref -d
领取专属 10元无门槛券
手把手带您无忧上云