首页 > 其他分享 >Git命令整理

Git命令整理

时间:2023-11-17 16:00:34浏览次数:45  
标签:reset Git 更改 revert 撤销 命令 git 提交 整理

git resetgit revert 是 Git 版本控制系统中常用的命令,用于撤销提交或修改历史记录。它们的作用不同,下面对它们进行解析:

  1. git resetgit reset 命令用于将当前分支的 HEAD 指针移动到指定的提交,并可以选择性地更改工作目录和暂存区的状态。它有不同的模式:

    • git reset --soft <commit>:将 HEAD 指针移动到指定的提交,并保留更改。这意味着提交会被撤销,但更改的文件将保留在暂存区中,您可以重新提交它们。
    • git reset --mixed <commit>(默认模式):将 HEAD 指针移动到指定的提交,并取消暂存区的更改。这意味着提交和暂存区的更改都会被撤销,但更改的文件将保留在工作目录中,您可以重新暂存并提交它们。
    • git reset --hard <commit>:将 HEAD 指针移动到指定的提交,并丢弃所有更改。这意味着提交、暂存区和工作目录中的所有更改都将被撤销,回到指定提交的状态。

    git reset 命令是一个强大的命令,但需要小心使用,因为它可以修改历史记录,可能会导致数据丢失。

  2. git revertgit revert 命令用于创建一个新的提交,以撤销指定提交的更改。它会在撤销提交时保留历史记录,并创建一个新的提交来表示撤销操作。这意味着 git revert 是一种安全的方法来撤销提交,因为它不会修改历史记录。

    git revert <commit>:撤销指定提交的更改,并创建一个新的提交来表示撤销操作。

    git revert 命令会将撤销的更改应用于当前分支,并自动创建一个新的提交。这样可以保持历史记录的完整性,并且其他人在拉取更新时不会受到影响。

总结:git reset 用于移动 HEAD 指针并修改历史记录,而 git revert 用于创建一个新的提交来撤销指定提交的更改。使用 git reset 时要小心,因为它会修改历史记录并可能导致数据丢失,而 git revert 是一种安全的方法来撤销提交。

标签:reset,Git,更改,revert,撤销,命令,git,提交,整理
From: https://www.cnblogs.com/laraveler/p/17838957.html

相关文章

  • Mac 终端命令查看WiFi连接日志【原创】
    写这篇文章的原因是因为经常通过钉钉打上班卡忘记打卡了,我们标准上班时间是上午8:00-10:00,对应下班时间是17:00-19:00 ,有时8:30到公司,就开始忙碌了,作为程序员有时后一忙就忘记时间了,打卡也忘记了,通过钉钉补卡,我如果要步8:30的卡,人事主管不相信,需要提供证据,我想了半天只能看,电......
  • 整理ML&AI学习路径图
    干货分享:下面给出一个笔者自己整理的GitHub仓库:https://github.com/isLinXu/awesome-road-map,里面包含了一些可供参考的学习路径和思维导图,并整理微软、meta、谷歌、Kaggle以及华为、百度、阿里、腾讯、讯飞等相关的学习资源内容,可以用来帮助学习某个方面的知识与内容。其中Kaggl......
  • ubuntu查看目录结构 命令tree
    1.安装sudoaptinstalltree2. 语法‘tree[-adfgilnopqrstuxACDFNS][-Llevel[-R]][-HbaseHREF][-Ttitle][-ofilename][--nolinks][-Ppattern][-Ipattern][--inodes][--device][--noreport][--dirsfirst][--version][--help][--fil......
  • OSPF常用配置和常用的查看命令
    1.启动OSPF进程,进入OSPF视图。[Huawei]ospf[process-id|RouterIDRouterID]路由器支持OSPF多进程,进程号是本地概念,两台使用不同OSPF进程号设备之间也能够建立邻接关系。2.创建并进入OSPF区域视图[Huawei-ospf-1]areaarea-id在OpenShortestPathFirst(OSPF)协议中,Ar......
  • 使用Linux命令sort及uniq对文件或屏幕输出进行分组统计
    sortdemo.txt|uniq-c|sort-rn|head-3在日常Linux操作常常需要对一些文件或屏幕数次中重复的字段进行分组统计。实现的方法非常简单,核心命令为:sort|uniq--c|sort-rn。sort:对指定列进行排序,使该列相同的字段排练到一起uniq-c:uniq命令用于检查及删除文本文件......
  • Linux中查看脚本进程是否存在的命令!
    在Linux系统中,想要查找脚本进程是否存在,可以使用命令行工具或者编写脚本来实现,以下是一些常用的方法介绍,希望对你们有用。1、使用ps命令ps命令可以列出当前运行的进程。你可以通过grep命令过滤出与脚本相关的进程,并检查是否存在。例如,假设脚本名为script.sh,你可以使用......
  • Jenkins常见问题和常用命令
    常用命令:通过浏览器重启服务:http://192.168.0.1:8080/restart常见问题:ERROR:Exceptionwhenpublishing,exceptionmessage[Exectimedoutorwasinterruptedafterxxxxms]在SendfilesorexecutecommandsoverSSH-->Advanced里设定如下:或者将timeout时间延长到合适的......
  • ERROR: Permission to stevenlong123/test.git denied to smith-bing. fatal: Could n
    第一次练习git提交代码到github时出现的错误。这里就是说github服务器拒接了我们,不支持远程连接。发现是因为我使用的是ssh来提交的,ssh是安全连接需要通信双方各有一对公钥私钥,github服务器不会自动交换公钥,需要手动在github存储库中部署自己电脑的公钥。使用git命令“ls-al~/.s......
  • Linux 中 sed命令替换 带有 斜杠的变量
     001、测试(错误做法)(base)[root@pc1test]#lsa.txt(base)[root@pc1test]#cata.txt##测试数据12345678910(base)[root@pc1test]#sed"s/5/$PWD/"a.txt##直接替换报错sed:-eexpression#1,char6:un......
  • python-tkinter去除命令日志
    Python打包exe文件后,执行exe文件总会打开命令行窗口,通过查找相关解决的方法,经过亲测,介绍几种可行的方案。修改文件名后缀将.py文件改成.pyw文件(使用的是脚本解析程序pythonw.exe)修改打包命令pyinstaller-i添加图标        -w去除命令行解决报错AttributeError......