- push失败
 因为远程比本地新,要拉到本地进行合并。git pull拉取,拉取失败,本地分支没有和远程链接,使用git branch --set-upstream-to=origin/<branch> dev进行链接,链接后再次pull,pull提示合并冲突,解决冲突并提交,然后再次git push origin <branch name>
- merge和rebase - merge
 merge命令会合并指定分支到当前分支,通常会使用Fast forward模式,这种模式会导致删除分支后,丢掉分支信息。如果要取消Fast forward模式,要在merge命令增加--no-ff指令。
- rebase
 merge命令会导致git log的时候产生一大堆的信息乱的要死,使用rebase可以把提交历史变成一条干净的直线。但是只适合该分支只有自己一人使用的情况,因为如果自己改变了远程分支,但是协作者本地还是原来的样子,在他pull远程master时,会丢失提交记录。
 
- merge
- stash
 在当前的修改未完成时,需要进行其他的修改,可以使用stash将‘未完成的修改’暂存起来,当其他的修改完成后,通过git stash pop进行恢复,或使用git stash apply恢复,但不删除stash内容,需要额外使用git stash drop删除