git(二)—-Git的常用打消技巧与消除争执方法

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

git stash ``#把所有没有提交的修改暂存到stash里面。可用git stash pop回复。

git reset --hard HASH ``#返回到某个节点,不保留修改。

git reset --soft HASH ``#返回到某个节点。保留修改

撤销Git add操作

 

  1. git reset HEAD <file>   # 撤废add操作并保存修改    
  2. git checkout — <file>  # 若继续该命令,则会去除掉刚刚的改动内容
     

撤销Git commit操作

  1. git reset –soft <commit_id>   #能够回退到有些commit并保存在此以前的修改  <commit_id>从git log中取,取前7位即可    
  2. git reset –hard <commit_id>   #回退到有个别commit不保留从前的改动    

撤销Git push操作

  1. 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