Git常用操作

目录

打包某次commit

使用命令把某次节点后的文件导出

Git删除本地分支(批量删除)

Git强制覆盖本地命令(单条执行)

Git 重置commit的author信息

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

具体执行步骤是:

  1. 切换到master分支
  2. 将git branch的结果进行筛选,除去master
  3. 将处理后的结果作为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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值