難得糊塗,吃虧是福。

Git回滚远程版本

4-08 阅读:3,753 次

摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢!

“房子是租的 但生活不是”

1.故事的开始

远程master分支下代码被不小心提交了很多垃圾代码或项目删掉,想要回滚到以前的某一版本并删除commit log。怎么办?情景如图:

1

情景很简单。老板上传了个文件,我把他删掉了。有一种办法,把文件再push下,但是也不想他看到图中那comment(ps:这样我才不会被fire)。实现上面场景的代码如下:

vim A.txt
git add .
git commit -a -m "add A.txt"
git push
rm A.txt
git commit -a -

2.解决之道

2.1工作区,暂存区,本地版本库 & 远程版本库

No pic say 个 78。。。

2

① 工作区:就是我们操作的目录

② 暂存区:操作目录的快照

③ 本地版本库:Git的精髓,人人都是中央仓库。也就是Git分布式的好处,自然对比SVN这种集中式

④ 远程版本库:Github这种中央仓库,可以达到共享。

常用的操作也如图所示,不言而喻了。

 

2.2 实战解决

Talk is cheap,Show me the code or money~ 代码如下:

git log
git reset --soft ${commit-id}
git stash
git push -f

详解如下:

 

第1行:git log 查看提交历史,然后找到要回滚的版本。历史如下,

commit 84686b426c3a8a3d569ae56b6788278c10b27e5b
Author: JeffLi1993 <qiangqiangli1993@gmail.com>
Date:   Fri Apr 8 19:11:32 2016 +0800
   我删除了老板的东西
commit 72bd6304c3c6e1cb7034114db1dd1b8376a6283a
Author: JeffLi1993 <qiangqiangli1993@gmail.com>
Date:   Fri Apr 8 19:05:23 2016 +0800
   add A.txt

我们想要回滚到的版本就是:72bd6304c3c6e1cb7034114db1dd1b8376a6283a

 

第2行,输入对应版本即可:

git reset --soft 72bd6304c3c6e1cb7034114db1dd1b8376a6283a

撤销到某个版本之前,之前的修改退回到暂存区(不懂看漂亮的图哦~)。soft 和 hard参数的区别就是,hard修改记录都没了,soft则会保留修改记录。

 

第3行:暂存为了安全起见。

 

第4行,覆盖 -f,对

git push -f

将本地master push 到远程版本库中, -f 强制覆盖

 

3. 小结

1. git reset 回滚到某个版本之前
2. git push -f 强制push覆盖

 

欢迎点击我的博客及GitHub — 博客提供RSS订阅哦!———- http://www.bysocket.com/ ————- https://github.com/JeffLi1993 ———-

微         博:BYSocket  豆         瓣:BYSocket  FaceBook:BYSocket  Twitter    :BYSocket

Git error: dst refspec xxx matches more than one.

问题描述 这是Git提交时,远端出现了 xxx 同名的branch 或者 tag。删除即可解决~ 解决 删除分支 git push origin :heads/xxx 删除tag git push origin :tags/...

阅读全文

Git 备忘录

设置相关 设置用户姓名和邮箱: git config --global user.name "Your Name” git config --global user.email "email@example.com” 常用指令 克隆远程库到本...

阅读全文

"万千世界,飘过的我是竹叶般..."

博主:BYSocket,博主的\'编程之美\'群(365234583
自言自语:
写写博,编编书,听听歌,健健身,练练字,写写文。医科大信息本科生,开源作者,半吊子书法爱好者,半吊子创业爱好者,半吊子...... 我在试错,我不知道以后会干什么,但我享受现在试错给我的惊讶的生活~

如果你喜欢,可以及时得到博客文章的推送或者留言给我,扫下左边我的公众号

这是我喜欢的一些话:
“路漫漫其修远兮,吾将上下而求索”
任何事情,方向对了,千方百计地去做,做任何事情朝这个方向,物理上的正功也有,负功也有,像溪水向下流碰到石头就转弯,肯定会有小成就。还有最主要的开心~





代码牛平台,让技术学习变的更高效、更简单 !
如果你的技术脆弱得需要提升,向有经验的人学习吧 !
如果你技术足够牛逼,有偿帮助那些需要技术提高的人吧 !


大牛或即将成为大牛的小白,欢迎加入\'代码牛JavaEE技术交流\'群(522369560

来找我吧,扫下左边二维码下载 APP,填上我的邀请码:CaEcmQ ,成为大牛吧~