git回退到某個版本並提交到遠程倉庫

版權聲明:本文爲博主原創文章,未經博主容許不得轉載。git

目錄(?)[-]github

  1. 前言
  2. 版本回退
  3. 提交到遠程倉庫
  4. 參考連接

1. 前言

   有些時候咱們提交的遠程代碼(最新的代碼)也許還不如上次寫的好,因而咱們就想回退到之前的版本。那麼怎麼回退呢 
   對了,回退以前仍是先備份下。。網站

2. 版本回退

git log //查看提交的歷史
git log --pretty=oneline //若是嫌上面的輸出信息過多可使用這條(只輸出版本號)
git reset --hard HEAD^ //回到上個版本,git reset --hard HEAD^^是上上個版本
  • 1
  • 2
  • 3

好了如今你已經回到上個版本了spa

3. 提交到遠程倉庫

  接下來若是你直接提交會發現提交不了, 說遠端作了更改須要先pull一下, 若是pull那就又回到最新版本了,至關於沒回退。 
  思路:咱們能夠新建一個分支temp,而後把回退後的代碼提交到temp分支上暫存,而後刪除master主分支,新建一個master分支,提交現有代碼到master上。.net

/*1.新建分支*/
git checkout -b temp              //新建分支並切換到temp分支
git push origin temp:temp         //將代碼push到temp分支
/*2.刪除主分支*/
git push origin --delete master   //刪除遠端主分支
git branch -d master              //刪除本地主分支
/*3.新建主分支*/
git checkout -b master            //新建主分支並切換到主分支
git push origin master            //提交主分支
/*4.刪除暫存分支*/
git branch -d temp
git push origin --delete temp
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

注意:在github下,操做(刪除或重建分支)須要在github網頁上切換當前分支,如你要刪除master,就要將分支切換到建的temp分支上。(能夠理解爲本身不能刪除本身) 
(項目主頁->Settings便可看到) 
這裏寫圖片描述code

參考連接:

廖雪峯的官方網站-git版本回退 
解決git提交敏感信息(回退git版本庫到某一個commit)blog

相關文章
相關標籤/搜索