欢迎来到代码驿站!

当前位置:首页 >

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

时间:2021-06-16 08:21:54|栏目:|点击:

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

上一篇:UltraISO PE V8.6.1.1985_绿色多国语言版_光盘映像制作 下载 附注册码

栏    目:

下一篇:docker 容器上编译 go 程序提示找不到文件问题

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

本文地址:http://www.codeinn.net/misctech/142776.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有