Git 相关问题分享,git reset与git revert的区别?

1.如果我在git add 后想要撤销操作,该怎么做?

使用 git rm --cache 【文件名/ *】
或者 git reset HEAD, 为什么这个命令也会有效果呢,实际上reset将 HEAD指针指向的提交复制到了暂存区,所以看起来暂存区像是没有东西。

这里可以扩展一下:
Git 分为三颗“树”:

当我们在工作区修改了时,git add 命令会将文件复制到暂存区,git commit 之后会将index中的内容保存为一个永久的快照。然后创建一个指向该快照的提交对象,最后更新master分支指向它。

2.如果我想要将版本回退到某一次提交该怎么做?

使用 git reset 或者 git revert
Git reset 将HEAD指向了指定版本,如果不使用 --hard工作区还是会保留,一旦使用了--hard 将不能撤回了,reset命令实际分为了三步:

git revert 相当于用新的一次提交来回滚。

3.如果我在git commit 之后想要修改commit信息重新提交,该怎么做?

使用 git commit --amend

4.如果我在一个分支修改了部分代码但未提交,此时我想切换到另一个分支,并且修改的代码不会丢失,该怎么做?

使用 git stash 将修改的代码储存起来,此时可以随意切换分支了,想用这些代码的时候可以用 git stash apply ,

git stash list 查看储存的,git stash drop [名称 ] 移除储存的,也可以直接用git stash pop来应用储藏然后立即从栈上移除它。

原文地址:https://www.cnblogs.com/tangxiao1996/p/12427497.html

时间: 2024-11-05 20:28:56

Git 相关问题分享,git reset与git revert的区别?的相关文章

Git相关内容

先聊一点关于gitlab的内容和github的内容 Gitlab和GitHub,都是我们可以存放代码库的地方.不过Gitlab可以免费的存储私人代码,GitHub需要花钱才能够存储私人代码库,不过我想人家的初衷可能是本着尽量让你开源的动机.哈哈. 为了管理好我们的代码库,要准备好这么几样 Mac的常用终端命令: 查询常用Mac 终端命令后可以发现,和Unix常用命令好像一样.可能是Mac OS的最底层基于Unix吧. Git的常用命令 推荐的一些博客:Git帮助文档    猴子都能懂的Git 

git相关整理

title: git相关整理 toc: false date: 2018-09-24 20:42:55 git merge 和 git merge --no--ff有什么区别? git merge命令用于合并指定分支到当前分支.默认情况下,执行快进式合并(fast-farward merge),直接通过把master指向feature来将两个分支并为一个分支,只保存master的分支信息. git merge --no--ff执行正常合并,在master分支上生成新的节点,就可以保存之前的fea

代码回滚:git reset、git checkout和git revert区别和联系

git reset.git checkout和git revert是你的Git工具箱中最有用的一些命令.它们都用来撤销代码仓库中的某些更改,而前两个命令不仅可以作用于提交,还可以作用于特定文件. 因为它们非常相似,所以我们经常会搞混,不知道什么场景下该用哪个命令.在这篇文章中,我们会比较git reset.git checkout和git revert最常见的用法.希望你在看完后能游刃有余地使用这些命令来管理你的仓库. Git仓库有三个主要组成——工作目录,缓存区和提交历史.这张图有助于理解每个

Git 相关汇总

1 删除远程分支: git push origin :branch-name        冒号前面的空格不能少,原理是把一个空分支push到server上,相当于删除该分支. Git 相关汇总,布布扣,bubuko.com

辛星浅析git reset和git revert

很多时候,我们有了误操作,这个时候就需要回退功能的出现,我们可以使用git reset和git  revert这两个功能. git  reset是指将当前head的内容重置,不会留任何痕迹.比如git  reset  --hard   HEAD~3会将最新的3次提交全部重置,就好像没有提交过一样.而--soft和--mixed.--hard会分别重置working  tree和index.HEAD. git   revert是撤销某次提交,但是这次撤销也会作为一次提交进行保存.

git代码回滚:Reset、Checkout、Revert的选择

代码回滚:Reset.Checkout.Revert的选择 Zhongyi Tong edited this page on Dec 8, 2015 · 5 revisions Pages 19 Home 2.1 快速指南 2.2 创建代码仓库 2.3 保存你的更改 2.4 检查仓库状态 2.5 检出之前的提交 2.6 回滚错误的修改 2.7 重写项目历史 3.2 保持同步 3.3 创建Pull Request 3.4 使用分支 3.5 常见工作流比较 4.1 图解Git命令 5.1 代码合并:

关于工作中Git相关的总结

来公司一周多,主要是在熟悉各种环境和流程,而作为研发来讲,git的使用也是必不可少的.以前使用方式单一,几个人对着master,pull和push,来了之后发现其实在日常的开发中,git可以很方便的帮我们进行分工和合并,这里总结一些平时可能会用到的命令和要点: 1. 开发模式: 也了解过,其实部门内部基本上都是分支开发的模式,很少有人做主干开发,这样的好处也是可以保证主干的可持续发布(主干好像是被发布服务Odin接管了).那现在基本的开发模式(对于我这个单用户来说),是这样的: 可能有些麻烦,但

Git -- 相关命令

git init : 将当前目录变成Git可以管理的仓库 git add :告诉Git,把文件添加到仓库 git commit -m "" :把文件提交到仓库 git status :查看仓库当前的状态 git diff filename :查看filename文件修改了哪些内容 git diff HEAD -- filename :查看HEAD指向的版本库里面的filename和工作区的最新版本 git log :记录下每次提交commit的时间节点 git log --pretty

Android学习笔记(一)Git相关配置及使用

一.配置 打开Git Bash, git config --global user.name "username" git config --global user.email "[email protected]" 二.创建代码仓库 新建一个文件夹,在文件夹下Git Bash,然后输入 git init 即可创建代码仓库.当前文件夹下会出现一个隐藏文件夹.git. 三.提交代码 git add readme.txt git commit -m "Wrot