`
liyixing1
  • 浏览: 961926 次
  • 性别: Icon_minigender_1
  • 来自: 江西上饶
社区版块
存档分类
最新评论

GIT仓库如何恢复到前一次提交

    博客分类:
  • git
git 
阅读更多
通过使用Git版本恢复命令reset,可以回退版本。
reset命令有3种方式:
git reset –mixed:此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息 (本地代码貌似不会改变) 
git reset –soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可  
git reset –hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容    
以下是一些reset的示例:
#回退所有内容到上一个版本    
git  reset  HEAD^      
#回退a.py这个文件的版本到上一个版本      
git  reset  HEAD^  a.py      
#向前回退到第3个版本      
git  reset  –soft  HEAD~3      
#将本地的状态回退到和远程的一样      
git  reset  –hard  origin/master      
#回退到某个版本      
git  reset  057d      
#回退到上一次提交的状态,按照某一次的commit完全反向的进行一次commit      
git  revert  HEAD 
如果我们某次修改了某些内容,并且已经commit到本地仓库,而且已经push到远程仓库了
这种情况下,我们想把本地和远程仓库都回退到某个版本,该怎么做呢?
前面讲到的git reset只是在本地仓库中回退版本,而远程仓库的版本不会变化
这样,即时本地reset了,但如果再git pull,那么,远程仓库的内容又会和本地之前版本的内容进行merge
这并不是我们想要的东西,这时可以有2种办法来解决这个问题:
直接在远程server的仓库目录下,执行git reset –soft 10efa来回退。注意:在远程不能使用mixed或hard参数
在本地直接把远程的master分支给删除,然后再把reset后的分支内容给push上去,如下:
#新建old_master分支做备份    
git  branch  old_master    
#push到远程    
git  push  origin  old_master:old_master   
#本地仓库回退到某个版本  
git  reset  –hard  bae168 
#删除远程的master分支
git  push  origin  :master 
#重新创建master分支 
git  push  origin  master



一不小心把本地的临时分支push到server上去了,想要删除。
一开始用

git branch -r -d origin/branch-name

不成功,发现只是删除的本地对该远程分支的track,正确的方法应该是这样:

git push origin :branch-name

冒号前面的空格不能少,原理是把一个空分支push到server上,相当于删除该分支。
分享到:
评论

相关推荐

    git仓库管理工具

    5. **版本历史记录**:Git能够记录每一次的提交,包括作者、时间戳和提交消息。通过`git log`命令,可以查看完整的提交历史,方便回溯和理解代码的演变过程。 6. **协作与分享**:Git支持通过远程仓库进行协作,...

    Git提交代码工具SourceTree

    7. **图形化历史**:SourceTree的图形化历史视图清楚地展示了每一次提交的变更,用户可以追溯代码的历史,查看每个版本之间的差异。 8. **集成其他服务**:SourceTree支持与GitHub、Bitbucket等平台的无缝集成,...

    Webstorm 提交代码到Git

    在页面右侧可以看到提交列表,确认最新的一次提交是否已经同步到了GitHub。 通过以上步骤,你可以顺利完成使用Webstorm将编辑的代码提交到GitHub的过程,实现对项目源代码的有效管理和版本控制。

    git命令行提交代码

    #### 一、初始化本地仓库与第一次提交 在开始使用Git进行版本控制之前,首先需要在本地计算机上初始化一个新的Git仓库。这通常是在项目的根目录下执行的操作。 ##### 1. 初始化本地仓库 ``` git init ``` 这条...

    Git仓库安装文件

    Git仓库安装文件通常是一个压缩包,包含了Git的所有组件,包括可执行文件和其他必要的库。在您提供的文件列表中,“Git-2.15.1.2-win64”很可能就是这样一个适用于64位Windows系统的Git安装程序。这个版本号(2.15....

    idea 插件可以查询git某个版本提交的代码

    此外,还可以通过“Blame”功能查看每一行代码最后一次被修改的提交信息,以便追溯到具体是谁在何时做了什么修改。 如果你想知道某个人在一段时间内的所有修改,可以在日志视图中使用“Author”过滤器输入作者的...

    Git添加与提交文件与查看

    如果有多份文件需要添加,可以一次性的添加多个文件,如`git add 文件名1 文件名2 ...`。如果你想添加整个目录下的所有文件,使用`git add .`命令即可。 4. 添加文件后,使用`git status`命令检查当前文件的状态。...

    Git仓库清除commit历史记录.docx

    在执行以上操作后,可以通过`git log`命令查看commit历史,你会看到一个新的、干净的commit历史,只包含新分支上的一次提交。这种方式可以有效地清除旧的commit历史,但务必谨慎操作,因为它可能会导致其他开发者的...

    git的详细使用教程.pdf

    5. **提交文件到Git仓库**:使用`git commit -m "描述信息"`命令将暂存区中的文件正式提交到Git仓库。每次提交都应该附带一个简短而明确的描述信息,以便将来查看提交记录时能够快速了解该次提交的目的。 6. **查看...

    关于git的手册总结简单的git介绍,git的相关指令

    如果需要撤销最近的提交,可以使用`git reset HEAD`命令,这会将暂存区恢复到上一次提交的状态,但不会影响工作区。若想从暂存区移除文件,可以使用`git rm --cached <file>`;若想将暂存区的文件替换回最新版本,...

    gitKraken常见问题解决方案

    - **将本地仓库的代码提交到远程仓库**: 使用`git push`命令将本地仓库中的提交推送到远程仓库。 #### 三、GitKraken常见问题及解决方案 **1. 拉取不到最新的远程代码** - 解决方案: 有时可能因为网络问题或认证...

    IDEA通过git回滚到某个提交节点或某个版本的操作方法

    在完成回滚操作后,需要将更改提交到远程仓库。在 IDEA 中,可以使用 Git 命令来强制提交更改。下面是使用 Git 命令强制提交的步骤: 1. 打开 IDEA 的 Terminal 窗口。 2. 输入以下命令:`git push -u origin ...

    Git详解_Git详解

    它允许开发者追踪项目中的每一次更改,方便协作,并提供了回溯、分支管理和合并等功能。要开始使用Git,首先需要在本地安装Git,然后通过`git init`命令初始化一个新的Git仓库,或者用`git clone`克隆已有的仓库。 ...

    git常用命令和场景

    它将新的更改添加到当前的暂存区并重新进行上一次的提交,只记录一次提交,而不是重新添加一个新的提交。 - git reset HEAD <file>:将指定文件从暂存区移除。 - git checkout -- <file>:撤销工作目录中对文件的...

    Git快速操作

    git revert HEAD^ # 回滚前一次提交 ``` 如果误删了文件,`checkout`命令可以帮助你恢复: ```bash git checkout --file1 ``` 在合并分支时可能会遇到冲突,这时你需要手动解决冲突后,再进行提交: 1. 解决冲突...

    Git-cheat-sheet-(Git常用命令速查).zip_git

    3. 添加文件到暂存区:`git add <file>` 或 `git add .` - 将所有修改添加到下一次提交。 4. 提交更改:`git commit -m "commit message"` - 创建一个新的提交,保存当前暂存区的更改。 5. 查看状态:`git status` -...

    Git撤销使用方法,详细教学

    这将用最近的提交版本覆盖工作目录中的文件,恢复到上一次提交的状态。 - **撤销合并** 如果合并过程中产生了冲突,可以通过`git merge --abort`来取消合并操作,恢复到合并前的状态。 - **撤销推送** 如果你...

    版本控制工具Git的使用方法.docx

    这样,任何一处协同工作用的服务器发生故障,都可以用任何一个镜像出来的本地仓库进行恢复,每一次的提取操作都是一次对代码仓库的备份。 Git 是一种分布式版本控制系统,用于敏捷高效地处理任何或大或小的项目。...

Global site tag (gtag.js) - Google Analytics