基于Git的常用撤销技巧与解决冲突方法(推荐)

作者:NiceCui 时间:2023-07-01 19:20:28 

git checkout . #本地所有修改的。没有的提交的,都返回到原来的状态

git stash #把所有没有提交的修改暂存到stash里面。可用git stash pop回复。
git reset --hard HASH #返回到某个节点,不保留修改。
git reset --soft HASH #返回到某个节点。保留修改

撤销Git add操作


git reset HEAD <file>  # 取消add操作并保留修改  
git checkout -- <file> # 若继续该命令,则会删除掉刚刚的修改内容

撤销Git commit操作


git reset --soft <commit_id>  #可以回退到某个commit并保存之前的修改 <commit_id>从git log中取,取前7位即可  
git reset --hard <commit_id>  #回退到某个commit不保留之前的修改

  

撤销Git push操作


git revert <commit_id>

原理: git revert 会产生一个新的 commit,它和指定 SHA 对应的 commit 是相反的(或者说是反转的)。 任何从原先的 commit 里删除的内容会在新的 commit 里被加回去,任何在原先的 commit 里加入的内容会在新的 commit 里被删除。这是 Git 最安全、最基本的撤销场景,因为它并不会改变历史 — 所以你现在可以 git push 新的“反转” commit 来抵消你错误提交的 commit。

Git:代码冲突常见解决方法

如果系统中有一些配置文件在服务器上做了配置修改,然后后续开发又新添加一些配置项的时候,
在发布这个配置文件的时候,会发生代码冲突:
error: Your local changes to the following files would be overwritten by merge:
protected/config/main.php
Please, commit your changes or stash them before you can merge.

如果希望保留生产服务器上所做的改动,仅仅并入新配置项, 处理方法如下:
git stash
git pull
git stash pop
然后可以使用Git diff -w +文件名 来确认代码自动合并的情况.

反过来,如果希望用代码库中的文件完全覆盖本地工作版本. 方法如下:
git reset --hard
git pull

来源:http://www.cnblogs.com/NiceCui/archive/2017/11/05/7788781.html

标签:Git,撤销,解决冲突
0
投稿

猜你喜欢

  • 常见python正则用法的简单实例

    2022-09-17 07:21:36
  • mysql 5.7.23 winx64解压版安装教程

    2024-01-26 01:41:09
  • Python Numpy学习之索引及切片的使用方法

    2021-09-04 02:59:01
  • DRF使用simple JWT身份验证的实现

    2022-01-14 12:09:00
  • 在JavaScript中,为什么要尽可能使用局部变量?

    2009-03-01 12:38:00
  • MySQL百万级数据量分页查询方法及其优化建议

    2024-01-17 20:56:11
  • Django ORM 查询表中某列字段值的方法

    2022-05-08 06:42:20
  • django上传图片并生成缩略图方法示例

    2022-08-12 01:45:53
  • 利用python实现AR教程

    2021-07-09 16:39:04
  • python实现Scrapy爬取网易新闻

    2021-11-23 17:02:11
  • Django实现基于类的分页功能

    2022-04-06 21:49:03
  • 解决90%的常见问题的8个python NumPy函数

    2021-12-06 23:33:39
  • golang 实现一个restful微服务的操作

    2023-07-06 23:42:13
  • 如何做一个只搜索本网站的引擎?

    2010-07-12 19:02:00
  • inner join和left join之间的区别详解

    2024-01-27 12:57:17
  • python中的import、from import及import as的区别解析

    2022-10-07 15:56:09
  • 一段重用很高的ajax代码

    2009-02-09 13:27:00
  • 解决usageerror: line magic function "%%time" not found问题

    2022-06-16 15:53:29
  • Centos 7 安装mysql5.7.24二进制 版本的方法及解决办法

    2024-01-21 22:18:58
  • 使用pandas批量处理矢量化字符串的实例讲解

    2023-09-22 03:00:01
  • asp之家 网络编程 m.aspxhome.com