基于Git的常用撤销技巧与解决冲突方法(推荐)
gitcheckout.#本地所有修改的。没有的提交的,都返回到原来的状态
gitstash#把所有没有提交的修改暂存到stash里面。可用gitstashpop回复。
gitreset--hardHASH#返回到某个节点,不保留修改。
gitreset--softHASH#返回到某个节点。保留修改
撤销Gitadd操作
gitresetHEAD#取消add操作并保留修改 gitcheckout-- #若继续该命令,则会删除掉刚刚的修改内容
撤销Gitcommit操作
gitreset--soft#可以回退到某个commit并保存之前的修改 从gitlog中取,取前7位即可 gitreset--hard #回退到某个commit不保留之前的修改
撤销Gitpush操作
gitrevert
原理:gitrevert会产生一个新的commit,它和指定SHA对应的commit是相反的(或者说是反转的)。任何从原先的commit里删除的内容会在新的commit里被加回去,任何在原先的commit里加入的内容会在新的commit里被删除。这是Git最安全、最基本的撤销场景,因为它并不会改变历史—所以你现在可以gitpush新的“反转”commit来抵消你错误提交的commit。
Git:代码冲突常见解决方法
如果系统中有一些配置文件在服务器上做了配置修改,然后后续开发又新添加一些配置项的时候,
在发布这个配置文件的时候,会发生代码冲突:
error:Yourlocalchangestothefollowingfileswouldbeoverwrittenbymerge:
protected/config/main.php
Please,commityourchangesorstashthembeforeyoucanmerge.
如果希望保留生产服务器上所做的改动,仅仅并入新配置项,处理方法如下:
gitstash
gitpull
gitstashpop
然后可以使用Gitdiff-w+文件名来确认代码自动合并的情况.
反过来,如果希望用代码库中的文件完全覆盖本地工作版本.方法如下:
gitreset--hard
gitpull
以上这篇基于Git的常用撤销技巧与解决冲突方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。