git stash与git rebase

96
avery1
2018.06.11 17:03 字数 654

git stash

先看命令行 git stash - -help的帮主页面 


也就是储藏你在当前工作的一些代码,状态。比如我在工作中常用的。

每次从远程拉代码的时候,拉完代码之后需要在本地将本地的一些配置应用进去比如api 的配置,数据库的配置等等,这样每次拉完代码创建分支的时候不可能每次都要手动去修改这些代码。这时候我们可以将本地的一些修改储藏(stash)起来。当需要的时候应用到当前分支即可。

在这里我常用的就是stash save, stash list, stash apply, stash drop

save

首先,我们将改动 save

运行git stash  save ‘msg’ // 添加一些说明


list

查看stash列表

git stash list


可以看出这里有两条stash记录,最后stash的是stash@{0}也就是刚才stash的

apply

应用stash

将stash应用到当前分支 git stash apply 后面没有参数的话是默认应用stash@{0}。

这时候我们可以查看git stash list 找到我们需要应用的stash应用。


drop

删除一些stash。当有一些stash我们用不到了或者太多了需要删除时。先list查看要删除的然后执行

git stash drop


这时候就只剩下一条stash了。当然还有其他的一些,需要使用的可以自己查看使用方法。


git merge和git rebase

这个区别在网上写的很多,不过就那几个版本,这里就不细说了。

git merge 和 git rebase 小结

[git]merge和rebase的区别

闲谈 git merge 与 git rebase 的区别

Git 之 merge 与 rebase 的区别

两个都是合并代码。merge会在master分支上产生一个合并的commit。merge branch ‘’ to master。会产生一个额外的提交。

rebase会在master的后面将你现在分支的修改加到后面


rebase一个比较好的应用就是当你在当前分支做了一段时间,然后master分支又有了修改的时候,我们可以把rebase到现在的分支,然后看起来这个分支的log记录就像是你拉了最新代码然后在最新的代码之后开始做的一样,这样log比较清楚。

不好的地方就是,rebase的合并会将你每一次的commit和master去对比合并。如果有多次的提交会多次的合并。

日记本
Web note ad 1