git復原線上代碼

來源:互聯網
上載者:User

標籤:soft   代碼   git   區別   需要   git log   成功   har   commit   

    由於之前自己推代碼的時候操作失誤,才push代碼的時候沒有push到dev分支,而是push到了本地master同名分支的線上master分支,覆蓋掉了線上在用的代碼。在搜尋解決辦法的時候,發現網上給的資訊大多不夠全,且很多無用。所以在復原成功之後,寫一下關於復原的文章。

 

1.如果沒有push上去,可以用git reset 本地復原到之前的代碼。

 

   git log查看版本號碼,然後在用git reset + 版本號碼復原。

 

2.如果push上去了,已經覆蓋了線上的代碼,就需要先用git revert + 版本號碼 或者 HEAD(回到上一個push的版本),將線上的代碼復原

 

  用git push -u origin master:master(可以不寫,預設與分支相同) -f 強制提交。如果沒有-f gitlab會拒絕你的操作。

 

3.git revert 和 git reset 的區別

  (1)git reset命令 
    1.git reset –mixed + 版本號碼 
      暫存區(add/index區)和提交區(commit區)會回退到某個版本,但代碼不改變。 
    2.git reset –soft + 版本號碼 
      提交區(commit區)會回退到某個版本,暫存區(add/index區)不會回退,代碼不改變。 
    3.git reset –hard + 版本號碼 

      暫存區(add/index區)和提交區(commit區)會回退到某個版本,代碼會改變。(推薦)

  (2)git revert命令 

    git revert + 版本號碼 
      遠程master和本地master都會回退到某個版本。暫存區(add/index區)和提交區(commit區)會回退到某個版本,代碼會改變。

git復原線上代碼

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.