本人完全是 Git 新手,在看一个人的帖子,其中有一段关于 stah 的介绍,有点不好理解,所以拿到这里来,请教大家一下:
软件开发中,bug 就像家常便饭一样。有了 bug 就需要修复,在 Git 中,由于分支是如此的强大,所以,每个 bug 都可以通过一个新的临时分支来修复,修复后,合并分支,然后将临时分支删除。
当你接到一个修复一个代号 101 的 bug 的任务时,很自然地,你想创建一个分支 issue -101 来修复它,但是,等等,当前正在 dev 上进行的工作还没有提交: $ git status
#
#
#
#
并不是你不想提交,而是工作只进行到一半,还没法提交,预计完成还需 1 天时间。但是,必须在两个小时内修复该 bug,怎么办?
幸好,Git 还提供了一个 stash 功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作: $ git stash Saved working directory and index state WIP on dev: 6224937 add merge HEAD is now at 6224937 add merge
我不理解的是,为什么要先 stash 一个分支(在此例中是 dev 分支),然后才能回到 master 再新开一个分支。我不 stash dev 分支,直接回到 master,好像也可以,请问其中有什么原因吗?