git常用操作
常规操作
git init:初始化仓库git add:暂存代码git commit:提交暂存的代码
分支操作
git branch:查看分支git checkout [branch]:切换至分支git branch [branch]:在当前代码基础上创建分支git merge [branch]:合并指定分支提交到当前分支git branch -d [branch]:删除指定分支git rebase [branch]:从指定的分支最后的提交作为当前分支的起点
远程操作
git clone [url]:克隆远程仓库到本地git remote -v:展示所有远程仓库git remote add [remote name] [url]:为当前仓库设置一个指定名称的远程仓库git remote rm [remote name]:删除远程仓库git remote rename [old remote name] [new remote name]:重命名git fetch:拉取远程仓库的所有更新到本地git pull:拉取当前分支的更新到本地,并和当前分支合并git push [remote name] [branch/tag]:推送分支或者标签到远程仓库
回溯操作
git reset -q [files]:将暂存区指定的文件撤销到工作区git reset --hard [head]:回溯到指定提交,所有工作区和暂存区文件被清理git reset --soft [head]:回溯到指定提交,
使用tag管理版本
查看 tag 列表
git tag:列出所有标签git tag -l "v3.3.*":过滤标签
新建 tag:
git tag v1.0:在当前commit上添加一个taggit tag -a v1.1 -m "修复1.0的bug":添加一个带注解的taggit tag -a v0.9 9fceb02 -m "1.0的前一个版本":给指定的commit添加tag
查看 tag 详情:
git show [tagName]:查看tag的详细信息
推送 tag 到远程服务器
git push origin [tagName]:推送单个tag到远程git push origin --tags:推送本地所有tag到远程
切换到指定 tag:git checkout [tagName] 这个时候不位于任何一个分支,你可以在此修改代码进行提交。但是切换分支时不会保存,你可以使用以下两种方式保存当前状态下修改的代码:
- 基于此状态创建一个新分支:
git checkout -b <new-branch-name> - 在此状态下新增
commit,使用git switch -c <new-branch-name>将提交保存到新分支。可使用git switch -撤销此操作。
删除 tag
git tag -d [tagName]:本地删除指定taggit push origin :refs/tags/[tagName]:远程删除
git-show 获取提交的具体信息
将对应的commit信息作为命令行变量:
bash
export COMMIT_INFO=$(git show -s --format=fuller $CI_COMMIT_SHA)
echo -e "$COMMIT_INFO \n"具体参数可查看git-show文档
