欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-03-20 15:00:15
git checkout . #本地所有修改的。没有的提交的,都返回到原来的状态 git stash #把所有没有提交的修改暂存到stash里面。可用git stash...

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

以上这篇基于git的常用撤销技巧与解决冲突方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。