天天看點

git實踐過程中的總結記錄

背景

  • 在實踐過程中,發現git常被用于如下三個場景中,總結并記錄下來。

過程

  • 遠端已經有某個分支了,本地也需要一個分支與之對應上
  1. 假如遠端已經有了一個dev分支,如何在本地得到一個名稱是dev的分支?

    git checkout –b dev origin/dev

  2. 如何讓本地的dev分支和遠端的origin/dev分支關聯上來?

    git branch --set-upstream-to=origin/dev

  • 遠端沒有某個分支,需要重新建立一個分支
  1. 本地建立一個分支,并切換到新建立的分支上

    git checkout –b feat-addUser

  2. push到遠端廠庫中去

    git push origin feat-addUser

  3. 本地分支與遠端分支關聯上關系

    可以先執行:git pull, 看它給出的提示資訊。

    git branch --set-upstream-to=origin/feat-addUser

  • 合并分支過程中發現沖突處理失敗,怎麼應對?

    放棄合并的内容,回退到合并以前的内容

    1. 切換到需要回退的分支上。git checkout dev
    2. 查詢需要回退的版本号。git reflog
    3. 執行回退操作。git reset –hard f82cfd2 ,其中這個f82cfd2是commit id
    4. 至于怎麼知道某個版本号是合并之前的,可以看上次部署的commit id是什麼,一般在gitlab或者其他代碼托管平台中的pipeline中的ci/cd就可以看見。

    放棄合并的内容,重新clone項目

    還有一種解決辦法:就是不要原來的項目了,重新clone下來,然後切換到需要發起合并操作的分支,然後再一次合并。細節:有沖突的時候,是不能push到遠端的。

  • 回退到上一個送出的版本

    git reset --hard HEAD~1

小結

  1. 記錄git常使用的一些場景和解決辦法。