idea代码回滚_IDEA远程仓库版本回滚
使用 git 進(jìn)行項(xiàng)目的版本控制時(shí),肯定會(huì)遇到回滾版本的情況,回滾有兩種,一種是本地倉(cāng)庫(kù)回滾,另外一種是遠(yuǎn)程倉(cāng)庫(kù)回滾。以下詳細(xì)講解兩種回滾方式,本文主要講解遠(yuǎn)程回滾,以及常見使用誤區(qū)。
本地倉(cāng)庫(kù)回滾
本地回滾就很簡(jiǎn)單,只是要撤銷 commit 信息即可。可以直接使用 Reset HEAD進(jìn)行回滾。
HEAD^ 是還原到上一個(gè)版本,HEAD^^ 是還原到上上一個(gè)版本。
Reset Type 有三種:
mixed 默認(rèn)方式,只保留源碼,回退commit和index信息
soft 回退到某個(gè)版本,只回退了commit的信息,不會(huì)恢復(fù)到index file一級(jí)。如果還要提交,直接commit
hard 徹底回退,本地源碼也會(huì)變成上一個(gè)版本內(nèi)容
錯(cuò)誤的遠(yuǎn)程倉(cāng)庫(kù)回滾方式
遠(yuǎn)程倉(cāng)庫(kù)代碼回滾,如果上 Google 上一搜,基本出來(lái)的答案都是使用 Reset HEAD 加上 git push -f 強(qiáng)制提交的方式。
我本地測(cè)試了一下,如果有兩個(gè)人同時(shí)在這條分支上開發(fā),其中一個(gè)人 小 A 如果使用這種方式進(jìn)行回滾了遠(yuǎn)程倉(cāng)庫(kù)代碼,另外一個(gè)人 小 B 此時(shí)本地還是回滾之前的代碼,小 B 那里就會(huì)出現(xiàn)本地代碼版本高于遠(yuǎn)程分支版本的情況,此時(shí)若小 B 進(jìn)行了 push 操作,之前小 A 回滾的代碼就又會(huì)被推送到遠(yuǎn)程的倉(cāng)庫(kù)了。除非小 B 在回滾后,將其本地倉(cāng)庫(kù)的版本也進(jìn)行回滾。才能保證不會(huì)把回滾的代碼重新 push 回遠(yuǎn)程倉(cāng)庫(kù),但是如果開發(fā)人員多,就無(wú)法保證所有開發(fā)人員的本地分支都回滾!
因此,不要使用 git push -f 這種方式來(lái)強(qiáng)制回滾遠(yuǎn)程倉(cāng)庫(kù)代碼!
正確的遠(yuǎn)程倉(cāng)庫(kù)回滾方式
如圖所示,現(xiàn)在需要將遠(yuǎn)程倉(cāng)庫(kù)回滾到 dev-103 這次提交點(diǎn)。
選中 dev-103 這一行,右鍵選擇 Revert
這里提示需要 commit
commit 之后,push 到遠(yuǎn)程倉(cāng)庫(kù)中。最終結(jié)果如下:
新增了一條提交記錄,查看代碼已經(jīng)被回滾了
其他開發(fā)人員如果進(jìn)行了 pull,其本地倉(cāng)庫(kù)也被正確回滾到了 dev-103 提交點(diǎn),就無(wú)需再擔(dān)心回滾的代碼又被重新 push 到遠(yuǎn)程倉(cāng)庫(kù)啦。
搞定,收工!
總結(jié)
以上是生活随笔為你收集整理的idea代码回滚_IDEA远程仓库版本回滚的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 树形可拖拽排序配置组件
- 下一篇: cnn 准确率无法提升_清华类脑芯片再登