git 常用的一些命令
永久记住密码 (全局)
Git使用https方式进行连接时,默认每次推送时都要输入用户名和密码。
可以使用命令
git config credential.helper store
为当前仓库设置记住密码,设置后,只要在推送一次,以后就不需要用户名和密码了。
只要运行后,下次push/pull的时候再输入一次密码,git就会记住啦!再次push/pull的时候就不用输用户名和密码了。
修改用户名和邮箱的方法
全局修改
git config --global user.name "王老五"
git config --global user.email "abc@qq.com"
局部修改
git config user.name "王老五"
git config user.email "abc@qq.com"
删除本地已不存在于远程的分支
步骤 1:清理远程分支的本地引用
首先更新本地仓库的远程分支信息,并删除那些远程已不存在的分支的本地跟踪引用:
git fetch --prune
# 或
git remote prune origin
步骤 2:删除本地对应的分支
通过以下命令筛选出远程已删除的本地分支,并批量删除:
git branch -vv | grep ': gone]' | awk '{print $1}' | xargs git branch -d
命令解释
git branch -vv
列出所有本地分支的详细信息,包括跟踪的远程分支状态。如果远程分支已被删除,状态会显示[gone]
。grep ': gone]'
筛选出所有标记为gone
的分支(即远程分支已删除)。awk '{print $1}'
提取分支名称(假设分支名不含空格)。xargs git branch -d
将筛选出的分支名传递给git branch -d
进行安全删除(仅删除已合并的分支)。若需强制删除未合并的分支,改用-D
。
注意事项
确认分支列表
执行前建议先单独运行git branch -vv | grep ': gone]'
确认待删除的分支,避免误操作。分支名称含空格
若分支名包含空格,需调整awk
或改用cut
命令提取名称(例如awk -F' +' '{print $1}'
)。未跟踪远程分支的本地分支
此方法仅处理已设置上游(跟踪)远程分支的本地分支,未关联远程的分支需手动管理。
简化脚本(可选)
将命令保存为别名以便复用:
git config --global alias.prune-local '!git fetch -p && git branch -vv | grep '"'"': gone]'"'"' | awk '"'"'{print $1}'"'"' | xargs git branch -d'
之后可通过 git prune-local
一键清理。
执行上述步骤后,本地的冗余分支将被安全清理,保持与远程仓库的同步。