Git 常用操作

一、分支删除  
删除本地分支:-d, -D,-d会在删除前检查分支状态,-D会直接删除
单个:git branch -d branch_name
多个:git branch -d branch_name1 branch_name2 …
批量(普通匹配):git branch | grep ‘bug-*' |xargs git branch -d (删除分支名为 bug- 开头的所有分支)
批量(正则匹配):git branch | grep -E '(bug-)[0-9]{8}(-web)$' |xargs git branch -d (删除分支名匹配 bug- 开头,中间8位数字,-web结尾 的所有分支,eg: bug-12345678-web)

解读:grep 查找,-E 正则,后接正则表达式,xargs 会将前面的执行结果传递给后边的操作指令
备注:其他批量操作亦可使用上述指令,只需替换 |xargs 后的操作指令即可

删除远程分支:git push origin --delete branch_name

二、worktree(工作树)
当分支差异较大,或者需要同时开发多个分支时,可以使用worktree来进行分支管理,以下所有指令均在项目根目录执行
查看当前项目: git worktree list (该命令会列出所有worktree详情,包括关联目录和分支)
添加worktree: git worktree add <path> [<branch>]
eg: git worktree add ../release-0.0.1 release-0.0.1 该操作会新增一个worktree,关联目录是release-0.0.1,关联分支是release-0.0.1,此时会生成一个release-0.0.1的文件夹。
你可以用编辑器打开 release-0.0.1 目录,来开发 release-0.0.1 分支的代码,且不影响你开发其他分支
删除worktree: git worktree prune <branch>
删除需要两步,首先删除关联worktree目录,再执行上面删除命令来清除关联信息
eg: git worktree prune release-0.0.1,此操作会清除release-0.0.1分支的关联信息

三、stash(暂存代码,当代码还未写完,又不想提交时可用)
暂存代码:git stash save xxx,将当前未提交的代码暂存,备注为xxx
查看列表:git stash list
恢复暂存:git stash pop xxx 或 git stash pop index (index为暂存的索引,执行save时自动生成的)pop会恢复并删除暂存
清除暂存:git stash drop xxx 或 git stash drop index (drop会直接删除掉暂存)
应用暂存:git stash apply xxx 或 git stash apply index (apply应用但不会删除暂存)
查看详情:git stash show -p xxx 或 git stash show -p index
暂存某一个文件:git stash push -p <file-path>
应用暂存的某一个文件:git stash apply stash@{<stash-id>} -- <file-path>

四、rebase
拉取代码:git pull -r | git pull -rebase 拉取公共分支最新代码到开发分支 (会打乱提交,不推荐使用,老实用merge比较好)
合并commit:git rebase -i <commit_id> 该操作会合并当前分支到commit_id分支的修改并生成一个新的commit

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值