git常用命令
检出远程分支并在本地创建同名分支并追踪远程分支(对应检出分支):
git checkout --track origin/远程分支名
指定以远程分支为基础创建本地分支并跟踪这个远程分支(注意跟踪的基础分支):
git checkout -b 本地分支名 origin/远程分支名
新建分支:
git checkout -b 分支名
当前分支推送到远程分支(远程有就推送,没有就创建):
git push origin 远程分支名
推送本地分支到远程分支并追踪该远程分支
git push -u origin 远程分支名
本地分支跟踪远程分支:
git branch -u origin/远程分支名 或 git branch --set-upstream-to=origin/远程分支名
重命名分支:
git branch -m 老分支名 新分支名
查看分支跟踪状态:
git branch -vv
查看远程分支信息:
git remote show origin
删除分支:
git branch -d 分支名
强制删除分支:
git branch -D 分支名
批量删除本地分支:
git branch | grep '需要删除分支名的关键字(release/20200111)' | xargs git branch -d
批量删除本地分支,排查-v -E排除不删除的分支
git branch | grep -v -E '排除的分支名(master|develop)' | grep "需要删除的分支名关键字(release/20200111)" | xargs git branch -D
批量删除远程分支,排查-v -E排除不删除的分支
git branch -r | grep -v -E 'master|develop' | grep "需要删除的分支名关键字origin/releases/2020" | sed 's/origin\///g' | xargs -I {} git push origin :{}
删除远程分支:
git push origin --delete 分支名 或 git push origin :分支名
合并分支:
git merge 要合并到当前分支的分支名
贮藏所有:
git stash
贮藏现有的并且添加一个注释:
git stash save "描述信息"
查看贮藏列表:
git stash list
应用某条贮藏:
git stash apply stash@{0} //应用序号为0的贮藏内容
删除贮藏:
git stash drop stash@{index}
清除所有贮藏
git stash clear
查看贮藏修改了什么文件
git stash show stash@{index}
查看贮藏修改了什么文件里面修改了什么内容
git stash show -p stash@{index}
修改最后一次commit信息
git commit --amend 然后输入i进入vim编辑模式,编辑完成Esc退出输入:wq保存退出
丢弃未暂存的全部文件修改
git checkout .
丢弃某个未暂存文件的修改
git checkout -- 文件名(带路径)
取消某个文件的暂存
git reset HEAD 文件名(带路径)
取消全部文件的暂存
git reset HEAD . 或者 git reset
没有暂存的文件或者文件夹全部丢弃
git clean -xdf
删除单个文件
rm filename
删除单个文件夹
rm -rf dir
查看提交日志
git log
查看某个分支的提交日志
git log 分支名
撤回上一次commit提交
git reset --soft HEAD~1
回退上一次commit提交
git reset --hard HEAD^
回退到某个commit提交
git reset --hard commit id(某个提交id)
查看被删除的分支(恢复分支)
git remote prune --dry-run origin
查看提交记录(恢复分支)
git reflog
恢复删除分支命令(恢复分支)
git checkout -b 新分支名 最后一次提交的SHA值
浙公网安备 33010602011771号