git stash封存分支 以及关于开发新功能的处理
生活随笔
收集整理的這篇文章主要介紹了
git stash封存分支 以及关于开发新功能的处理
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
有種情況,我們要修復(fù)項(xiàng)目的bug時(shí),但別的分支有修改的代碼,要修復(fù)的bug可能會(huì)影響(所有分支共用一個(gè)暫存區(qū))。可以單獨(dú)創(chuàng)建一個(gè)bug分支,用于修復(fù)和提交bug,在修改前可以先stash封存分支修改的代碼。
測(cè)試,首先在slave分支里修改文件:456的內(nèi)容,然后執(zhí)行g(shù)it stash 封存slave分支未提交的代碼。
laoni@DESKTOP-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (master) $ git checkout slave Switched to branch 'slave'laoni@DESKTOP-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (slave) $ git status On branch slave nothing to commit, working tree cleanlaoni@DESKTOP-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (slave) $ ls 456 998 bb.css index.html info.py newlaoni@DESKTOP-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (slave) $ cat 456laoni@DESKTOP-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (slave) $ vim 456laoni@DESKTOP-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (slave) $ cat 456 修改456文件laoni@DESKTOP-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (slave) $ git stash warning: LF will be replaced by CRLF in 456. The file will have its original line endings in your working directory. Saved working directory and index state WIP on slave: 6957dae add 998 HEAD is now at 6957dae add 998laoni@DESKTOP-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (slave) $ git stash No local changes to savelaoni@DESKTOP-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (slave) $ git log --oneling fatal: unrecognized argument: --onelinglaoni@DESKTOP-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (slave) $ git log --oneline 6957dae add 998 775f3ab add new 6abf028 modify info.py a068c80 add info.py c5b475a Revert "add 123" cfcbd5c add 456 13f5bcb add 123 8110523 Revert "add adc" 74f7cb6 add bb.css 577fab6 Revert "revert abc" e1f2701 add adc 358cdac 添加UI.js 04c94a8 添加一個(gè)文件index.html git stash創(chuàng)建bug01分支,并修復(fù)和提交bug文件:998,然后切換到master分支,合并bug01分支
$ git branch bug01laoni@DESKTOP-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (slave) $ git branchbug01master * slavelaoni@DESKTOP-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (slave) $ git checkout bug01 Switched to branch 'bug01'laoni@DESKTOP-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (bug01) $ vim 998laoni@DESKTOP-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (bug01) $ cat 998 fsaldkfsalfjlasjfl 修復(fù)bug內(nèi)容部分laoni@DESKTOP-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (bug01) $ git status On branch bug01 Changes not staged for commit:(use "git add <file>..." to update what will be committed)(use "git checkout -- <file>..." to discard changes in working directory)modified: 998no changes added to commit (use "git add" and/or "git commit -a")laoni@DESKTOP-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (bug01) $ git add 998laoni@DESKTOP-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (bug01) $ git commit -m "monify bug 998" [bug01 487e2eb] monify bug 9981 file changed, 1 insertion(+)laoni@DESKTOP-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (bug01) $ git checkout master Switched to branch 'master'laoni@DESKTOP-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (master) $ git merge merge mergetoollaoni@DESKTOP-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (master) $ git merge bug01 --no-ff -m "merge bug01" Merge made by the 'recursive' strategy.998 | 1 +1 file changed, 1 insertion(+)laoni@DESKTOP-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (master) $ git log --oneline f698663 merge bug01 487e2eb monify bug 998 85bd6ea add dd.css bdba943 merge slave --no--ff 6957dae add 998 112da02 modify new 775f3ab add new 8b5d2fd add new 6abf028 modify info.py a068c80 add info.py c5b475a Revert "add 123" cfcbd5c add 456 13f5bcb add 123 8110523 Revert "add adc" 74f7cb6 add bb.css 577fab6 Revert "revert abc" e1f2701 add adc 358cdac 添加UI.js 04c94a8 添加一個(gè)文件index.html git merge最后再解封slave,使用git stash pop可以解封最近的一次封存,使用git stash apply 封存編號(hào)可以解封指定的封存位置。
$ git checkout slave Switched to branch 'slave'laoni@DESKTOP-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (slave) $ git status On branch slave nothing to commit, working tree cleanlaoni@DESKTOP-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (slave) $ git stash list stash@{0}: WIP on slave: 6957dae add 998laoni@DESKTOP-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (slave) $ git stash pop On branch slave Changes not staged for commit:(use "git add <file>..." to update what will be committed)(use "git checkout -- <file>..." to discard changes in working directory)modified: 456no changes added to commit (use "git add" and/or "git commit -a") Dropped refs/stash@{0} (3ef365731c328973f18469b046770d7fa1b55e41)laoni@DESKTOP-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (slave) $ git stash Saved working directory and index state WIP on slave: 6957dae add 998 HEAD is now at 6957dae add 998laoni@DESKTOP-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (slave) $ git stash list stash@{0}: WIP on slave: 6957dae add 998laoni@DESKTOP-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (slave) $ git stash apply stash@{0} On branch slave Changes not staged for commit:(use "git add <file>..." to update what will be committed)(use "git checkout -- <file>..." to discard changes in working directory)modified: 456no changes added to commit (use "git add" and/or "git commit -a")laoni@DESKTOP-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (slave) $ git stash pop?
轉(zhuǎn)載于:https://www.cnblogs.com/laonicc/p/6941417.html
總結(jié)
以上是生活随笔為你收集整理的git stash封存分支 以及关于开发新功能的处理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深度剖析hdfs原理
- 下一篇: LintCode-第k大元素