【Git】Git 分支管理 ( 使用 git cherry-pick 命令提取提交记录应用于当前分支 | 创建新分支应用某个提交 | git cherry-pick 冲突处理 )
文章目錄
- 一、環境準備
- 二、創建新分支應用 dev2 提交
- 三、git cherry-pick 沖突處理
一、環境準備
git cherry-pick 命令的作用是 將指定的 一個或若干個 提交記錄 , 應用與當前的分支 ;
創建一個 dev 分支 , 然后在該分支中 , 編輯 file1.txt 文件 , 分別添加 444 行 文本 , 每行都提交一次 ;
執行
git reflog查看 444 次提交的哈希碼 :
D:\Git\git-learning-course>git reflog 29206c6 (HEAD -> dev) HEAD@{0}: commit: dev4 31914ab HEAD@{1}: commit: dev3 cc5fe50 HEAD@{2}: commit: dev2 f12e2d3 HEAD@{3}: commit: dev1 2bd4156 (origin/master, origin/HEAD, master) HEAD@{4}: checkout: moving from master to dev 2bd4156 (origin/master, origin/HEAD, master) HEAD@{5}: clone: from https://codechina.csdn.net/han12020121/git-learning-course二、創建新分支應用 dev2 提交
執行
git switch master命令 , 切換換到 master 分支 , 將 dev 分支中的 dev1 提交 , 作為當前分支的最新的提交內容 ;
f12e2d3 HEAD@{3}: commit: dev1執行
git cherry-pick f12e2d3命令 , 正式將 dev1 提交作為當前 master 分支的內容 ; 該操作沒有沖突 , 可以直接執行 ;
D:\Git\git-learning-course>git switch master Switched to branch 'master' Your branch is up to date with 'origin/master'.D:\Git\git-learning-course> D:\Git\git-learning-course>git cherry-pick f12e2d3 [master 2321849] dev1Date: Thu Dec 9 20:58:46 2021 +08001 file changed, 3 insertions(+), 1 deletion(-)D:\Git\git-learning-course>三、git cherry-pick 沖突處理
在 dev 分支中 , 執行
git switch -c dev_1命令 , 直接基于 dev 分支創建新的分支 dev_1 , 注意此時的 dev 分支有 444 個提交 , dev_1 也有 444 個提交 ;
執行
git cherry-pick f12e2d3命令 , 將 f12e2d3 提交作為當前 dev_1 分支的當前提交內容 , 此處出現了沖突 ;
f12e2d3 提交記錄的內容 :
f12e2d3 HEAD@{3}: commit: dev1執行過程 :
D:\Git\git-learning-course>git cherry-pick f12e2d3 Auto-merging file1.txt CONFLICT (content): Merge conflict in file1.txt error: could not apply f12e2d3... dev1 hint: After resolving the conflicts, mark them with hint: "git add/rm <pathspec>", then run hint: "git cherry-pick --continue". hint: You can instead skip this commit with "git cherry-pick --skip". hint: To abort and get back to the state before "git cherry-pick", hint: run "git cherry-pick --abort".沖突文件內容 :
hello world hello worldgit branch dev<<<<<<< HEAD devdev2dev3dev4 ======= dev >>>>>>> f12e2d3 (dev1)手動解決沖突 , 然后編輯為 :
hello world hello worldgit branch devdev先執行
git add .命令, 提交該文件到暫存區 , 然后執行
git cherry-pick --continue命令 , 繼續執行 git cherry-pick 命令后續操作 , 期間會彈出 vim 編輯器 , 輸入提交內容 ;
D:\Git\git-learning-course>git cherry-pick --continue [dev_1 301c619] dev1Date: Thu Dec 9 20:58:46 2021 +08001 file changed, 6 deletions(-)D:\Git\git-learning-course>總結
以上是生活随笔為你收集整理的【Git】Git 分支管理 ( 使用 git cherry-pick 命令提取提交记录应用于当前分支 | 创建新分支应用某个提交 | git cherry-pick 冲突处理 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【错误记录】Git 使用报错 ( git
- 下一篇: 【Git】Git 标签使用 ( 查询哈希