经过一张图了解下,git fetch和git pull的概念: git
git pull的问题是把过程当中的细节隐藏起来了,一旦代码有问题就很难找到出错的地方。app
当你在一个分支上在进行开发时,临时须要切换到另外一个分支解决一些比较紧急的事情,问题是你才工做了通常,你不想回不到这个工做点,这时就须要用git stash命令了。fetch
git stash 是“储藏”的意思,能够获取你工做目录的中间状态,修改过的追踪文件能够放到一个未变动的堆栈中,随时能够从新应用。blog
git stash(这个) 保存当前的工做进度。会分别对暂存区和工做区的状态进行保存。开发
git stash save “message…” 这条命令其实是第一条 git stash 命令的完整版。it
git stash list 显示进度列表。此命令显然暗示了git stash 能够屡次保存工做进度,并用在恢复时候进行选择。ast
git stash pop(这个) 若是不使用任何参数,会恢复最新保存的工做进度,并将恢复的工做进度从存储的工做进度列表中清除。im
git stash apply 除了不删除恢复的进度以外,其他和 git stash pop 命令同样。apply
git stash clear 删除全部存储的进度。img
合并代码有两种方式:
git rebase目的是对一段线性提交历史进行编辑,删除,复制,黏贴,经过rebase可使咱们的提交历史感受,整洁。
不要经过rebase对任何已经提交到master仓库的commit进行修改。
经过rebase能够帮助咱们合并多个commit为一个完整的commit。
适用于在某个提交点从新开分支。好比某个提交以后代码咱们都不要了,能够在本地reset到指定commit,从新开启一个branch继续开发。
能够用来对某些提交进行撤销。