git如何從某個分支的指定歷史版本中創(chuàng)建新分支
git從某個分支的指定歷史版本中創(chuàng)建新分支
有時候,我們在一個分支上做了許多修改,而這些修改因即將上線等原因不可修改。
而現(xiàn)在有一個新任務,需要在這個分支的這些修改之前進行開發(fā)。
方案①(不推薦):在這些分支上撤銷這些修改的內(nèi)容,再進行開發(fā)
方案②(推薦):從當前分支的某個歷史版本中切出新的分支進行開發(fā)
具體操作
1.查看歷史版本
git log
2.從提交的某個歷史版本中切出新分支
比如:從切到測試環(huán)境(780e2a7fc714faf388ba71)這個歷史節(jié)點切出
git checkout -b new-branch 780e2a7fc714faf388ba71
經(jīng)過以上步驟,您已經(jīng)從指定分支的指定歷史版本創(chuàng)建出了一個新分支
git在某個節(jié)點切出新分支
操作前,必須先備份分支,避免丟失代碼?。。?!
操作前,必須先備份分支,避免丟失代碼!?。?!
操作前,必須先備份分支,避免丟失代碼?。。?!
找到節(jié)點編號
使用 git log 命令查看提交記錄
或者使用IDEA找提交記錄
從當前提交 HEAD 指針創(chuàng)建一個臨時未命名分支
git chekcout 91d38bf2
這個時候只是從這個節(jié)點創(chuàng)建了一個臨時未命名分支,
如果你這個時候切換到別得分支,那么你就相當于放棄了這個未命名分支
把臨時分支保留的提交創(chuàng)建成新分支
git switch -c 2023-0306-dev
成功從develop 的 head: 91d38bf2(某次提交) 切出一個新的分支
推送到遠程并與遠程的2023-0306-dev關聯(lián) (若沒有遠程分支創(chuàng)建并關聯(lián))
git push -u origin 2023-0306-dev
應用場景
合并錯誤分支
需要發(fā)布某一節(jié)點的分支
緊急發(fā)布
- 開發(fā)過程中,本次代碼已經(jīng)全部合并到dev(測試中待發(fā)布狀態(tài))
- 這時有個緊急bug需要修復,但是不能把本待發(fā)布的版本發(fā)上去
- 找到上次發(fā)布節(jié)點,切出新分支,更改bug,快速發(fā)布
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
- Git如何實現(xiàn)撤銷提交(命令行+IDEA)
- git提交報錯pre -commit hook failed (add --no-verify)問題及解決
- git提交出現(xiàn)commit提醒信息界面怎樣退出
- git合并部分提交的實現(xiàn)
- git如何將master分支上的代碼合并到自己新建的分支上
- git worktree與分支依賴隔離的使用場景分析
- gitlab分支合并沖突的處理過程
- git分支或指定文件回退到指定版本命令詳解
- GitLab在IDEA中回滾主分支問題
- git流水線(Pipeline)導致分支(Branch)無法合并問題及解決
- git如何合并某個分支的某次提交(cherry-pick)
- Git提交到錯誤分支如何解決
相關文章
windows下Idea使用git clone failed. Could not read from remote r
這篇文章主要介紹了windows下Idea使用git clone failed. Could not read from remote repository.,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09git-github 子模塊倉庫更新(git submodule)及git中submodule子模塊
這篇文章主要介紹了git-github 子模塊倉庫更新(git submodule)/git中submodule子模塊的添加、使用和刪除,使用子模塊后,不必負責子模塊的維護,只需要在必要的時候同步更新子模塊即可,需要的朋友可以參考下2023-03-03vscode配置setting.json文件實現(xiàn)eslint自動格式代碼
這篇文章主要介紹了vscode配置setting.json文件實現(xiàn)eslint自動格式代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08