首页 > 其他分享 >git命令

git命令

时间:2022-09-28 14:01:17浏览次数:43  
标签:reset HEAD git -- 命令 版本 分支

git代码还原
开发同事相互协作,共同开发,合并代码后出现冲突,解决冲突,但是解决了几个版本以后还是冲突,并且出现代码缺失问题。开发同事提出还原版本到合并之前。
趁机整理下git还原命令
git还原方式有两种
git reset
git revert

HEAD 是当前分支引用的指针,它总是指向该分支上的最后一次提交。这表示 HEAD 将是下一次提交的父结点。
通常,理解 HEAD 的最简方式,就是将它看做 你的上一次提交 的快照

git reset

git reset的作用:就是修改HEAD的位置,即将HEAD指向的位置改变为之前存在的某个版本。 适用场景: 如果我们想直接回到之前的某一版本,但是不想保留该目标版本后面的版本,就可以用这种方法。
git reset HEAD --file
回退暂存区里的某个文件,回退到当前版本工作区状态

git reset –-soft 目标版本号 
可以把版本库上的提交回退到暂存区,修改记录保留

git reset –-mixed 目标版本号 
可以把版本库上的提交回退到工作区,修改记录保留

git reset –-hard  
可以把版本库上的提交彻底回退,修改的记录全部revert

具体操作:
分支操作者

git checkout <branch_name>
# 切换到目标分支上

git reset --hard <commit_id>
# 本地目标分支上重置代码到上面指定的commit_id, 
# 注意:该commit_id之后的所有提交都会丢失。
# 执行完后,HEAD的位置已经在该commit_id的位置

git push -f	 等同于  git push --force
# 在上一条命令中,已经在本地分支中reset好,接下来让远程分支也有相同的效果,可以直接运行这条命令。
# 执行后,可以去代码托管网站查看

git push -f origin <branch_name>
# 如果目标分支和远程分支没有关联上,可以用这条命令,指出远程分支

其他分支使用者

git checkout <branch_name>
# 切换到目标分支上

git reset --hard origin/branch_name
# 这步就是其他同事把自己本地branch_name重置到与origin/branch_name一致,
# 注意
# --hard参数会丢弃超过origin的所有commit
# 如果不想丢弃可以用 --mixed 或 --soft,具体用哪个根据自己情况来

git revert

Git revert作用: 给你一个生成一个新提交的选项,提交将会撤消一个已存在提交的所有修改。 适用场景: 如果我们想撤销之前的某一版本,但是又想保留该目标版本后面的版本,记录下这整个版本变动流程,就可以用这种方法。
git revert -n <commit_id>
# 本地目标分支撤销指定的commit_id
# 注意:做完上面的操作后,可能会出现冲突,需要先解决冲突,在git add,
# 然后使用 git commit 提交

git push
# 在上一条命令中,已经在本地分支中revert好,接下来让远程分支也有相同的效果,可以直接运行这条命令。
# 执行后,可以去代码托管网站查看

标签:reset,HEAD,git,--,命令,版本,分支
From: https://www.cnblogs.com/gkmin/p/16737786.html

相关文章

  • find命令排除某些目录或文件
    find命令排除某些目录或文件 #在当前目录下排除abc目录,查找所有文件find.-path"./abc"-prune-o-print#在当前目录下排除abc目录,查找所有以.txt结尾的文件【方......
  • bitcoin-cli 命令(转)
    help("command")stopgetinfopinggetnettotalsgetnetworkinfogetpeerinfogetconnectioncountverifychain(checklevelnumblocks)getaddednodeinfodns("nod......
  • linux基础命令grep显示前后
    通过grep查找字段后,方便查看前后文本grep-C8'中央仓库在中国的镜像'settings.xml显示指定行的上线8行[root@znjc-ds-zcfwservconf]#grep-C8'中央仓库在中国......
  • Linux 操作命令
    1.替换jar包中的文件获取文件在jar包中的路径 pathjar-tfXXX.jar|grepXXX.class解压文件到指定的路径jar-xvfXXX.jarpath替换拷贝新文件到解压目录将新文......
  • centos7没有wget命令
    执行以下命令即可:yum -yinstallwgetyum-yinstallsetupyum-yinstallperl......
  • Linux 压缩命令
    我们常用如下命令打包压缩和解压缩打包且压缩tar-zcvftest.tar.gz test 解压缩tar-zxvftest.tar.gz  test  1、我们常用tar和zip的区别tar其实是打......
  • Git 版本回退
    第一步:gitcheckout[分支名]切换到要操作的分支上;第二步:gitlog查看历史提交记录,找到想要回退的版本号;第三步:gitreset--hard[版本号]将本地仓库代码回退到指定版......
  • 操作系统:Linux基本系统命令的使用
      SHANGHAI UNIVERSITY操作系统(一)实验报告   一、  实验目的与要求实验目的:1.了解Linux运行环境,熟悉交互式分时系统、多用户环境的的运行机制。2.练......
  • linux 请求命令
     1概述Curl是一个命令行实用程序,允许用户创建网络请求。Curl在Windows、Linux和Mac上皆可使用,这使它成为开发人员的首选。在本文中,我们将解释如何使用CURL......
  • 【学习笔记】Mysql基本命令
    Mysql基本命令连接mysqlmysql-uroot-p123456 --连接数据库所有sql语句都必须以";"结尾updatemysql.usersetauthentication_string=password('123456')where......