目录
Git操作返回 error: cannot lock ref 解决办法
打包某次commit
git diff-tree -r --no-commit-id --name-only 4b00452f49f8e5a28941627634e3739c7c2b2197 | tr '\n' '\0' | xargs -0 tar -rf commit.tar
使用命令把某次节点后的文件导出
window下:
git diff --name-only b4ed29fc HEAD | xargs tar -rf update.tar
linux下:
git diff-tree -r --no-commit-id --name-only 4b00452f49f8e5a28941627634e3739c7c2b2197 HEAD | tr '\n' '\0' | xargs -0 tar -rf commit.tar
Git删除本地分支(批量删除)
git checkout master
git branch | grep -v 'master' | xargs git branch -D
具体执行步骤是:
- 切换到master分支
- 将git branch的结果进行筛选,除去master
- 将处理后的结果作为git branch -D的参数来进行删除分支
Git强制覆盖本地命令(单条执行)(转)
git fetch --all && git reset --hard origin/master && git pull
第一个是:拉取所有更新,不同步;
第二个是:本地代码同步线上最新版本(会覆盖本地所有与远程仓库上同名的文件);
第三个是:再更新一次(其实也可以不用,第二步命令做过了其实)
备注: 命令连接符 && 的意思是 前一条命令执行成功才执行后一条命令。
扩展:命令连接符 ;; 的意思是 不论前一条是否执行成功都继续执行后一条命令。
Git 重置commit的author信息
git cherry-pick 分支hash
git commit --amend --reset-author
进行重置 commit的author信息。
Git操作返回 error: cannot lock ref 解决办法
方法一:
git gc --prune=now 进行清理
删除对应的rm -rf .git/logs/refs/remotes/origin/xxx
git pull -f
方法二:
git gc --prune=now
git remote prune origin
git pull -f