git stash -a //缓存所有文件
git checkout -b dev origin/dev //切换到dev分支上,接着跟远程的origin地址上的dev分支关联起来
//推送本地分支到远程仓库
git push origin localbranchname:remotebrancname
git revert onefile //https://www.freecodecamp.org/news/git-revert-file-reverting-a-file-to-a-previous-commit/
//Git中获取当前分支名git
git branch --show-current
//git从指定的commit创建分支
git checkout -b branchname <commit-hash>
//以下两个命令需要在git bash下执行,因为window下找不到grep\xargs命令
//This script will delete all local branches except the master branch, including the non-merged branches.
git for-each-ref --format '%(refname:short)' refs/heads | grep -v "master\|main\|develop" | xargs git branch -D
//The -d is a soft delete option and only removes the merged branches.
git for-each-ref --format '%(refname:short)' refs/heads | grep -v "master\|main\|develop" | xargs git branch -d
//合并某个提交
git cherry-pick <commit-hash>
//列出包含某个提交的所有标签
git tag --contains f3a0b78
//克隆某个Tag的代码
git clone -b v9.2.2 https://gitlab.kitware.com/vtk/vtk.git
//回滚到某个提交
git log --oneline
git reset --hard <commit-hash>
git checkout -b branchname
git push origin localbranchname:remotebranchname