git常用操作总结(保真、持续更新)

96 阅读3分钟

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