git技巧总结
1、更改commit记录
git commit --amend
2、设置远程仓库
// 添加
git remote add origin https://gitee.com/shalio88/star-templates.git
// 修改
git remote set-url origin https://gitee.com/shalio88/star-templates.git
// 删除
git remote rm https://gitee.com/shalio88/star-templates.git
3、如何撤销commit
概述
git reset 命令用于回退版本,可以指定退回某一次提交的版本。
git reset 命令语法格式如下:
git reset [--soft | --mixed | --hard] [HEAD]
-
-mixed 为默认,可以不用带该参数,用于重置暂存区的文件与上一次的提交(commit)保持一致,工作区文件内容保持不变,不删除工作空间改动代码,撤销 commit,并且撤销 git add . 操作 git reset --mixed HEAD^ 等价于 git reset HEAD^
-
–soft 参数用于回退到某个版本
不删除工作空间改动代码,撤销 commit,不撤销 git add .
-
–hard 参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交 删除工作空间改动代码,撤销 commit,撤销 git add .
实例
git reset HEAD^ # 回退所有内容到上一个版本
git reset HEAD^ hello.php # 回退 hello.php 文件的版本到上一个版本
git reset 052e # 回退到指定版本
git reset --soft HEAD~3 # 回退上上上一个版本
git reset --hard HEAD~3 # 回退上上上一个版本
git reset --hard bae128 # 回退到某个版本回退点之前的所有信息。
git reset --hard origin/master # 将本地的状态回退到和远程的一样
HEAD说明
谨慎使用 –hard 参数,它会删除回退点之前的所有信息
HEAD 说明:
HEAD 表示当前版本
HEAD^ 上一个版本
HEAD^^ 上上一个版本
HEAD^^^ 上上上一个版本
可以使用 ~数字表示
HEAD~0 表示当前版本
HEAD~1 上一个版本
HEAD~2 上上一个版本
HEAD~3 上上上一个版本
如果执行了git reset --hard HEAD~1 想撤回怎么办?
可以输入查看日志命令:
git log --oneline -10
4、tag相关操作
tag最重要的是有git commit号,后期我们可以根据这个commit号来回溯代码.
列出已有tag
git tag
加上-l命令可以使用通配符来过滤tag
git tag -l "v1.1.*"
新建tag
// 创建一个名为v1.0的tag
git tag v1.0
// 可以加上-a参数来创建一个带备注的tag,备注信息由-m指定
git tag -a v1.1.0 -m "完成typescript引入"
查看tag详细信息
// git show命令可以查看tag的详细信息,包括commit号等。
git show v1.1.0
给指定的某个commit号加tag
打tag不必要在head之上,也可在之前的版本上打,这需要你知道某个提交对象的校验和(通过git log获取,取校验和的前几位数字即可)。
git tag -a v1.1.1 某个commit -m "tag描述"
将tag同步到远程服务器
git push origin v1.1.0
切换到某个tag
git checkout v1.1.0
删除tag
git tag -d v1.1.0
// 删除远程tag
git push origin --delete tag v1.1.0
// 在Git v1.7.0之前 推送一个空tag到远程tag,其实相当于删除远程tag
git push origin :refs/tags/v1.1.0