git stash与git rebase

作者: avery1 | 来源:发表于2018-06-11 17:03 被阅读12次

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去对比合并。如果有多次的提交会多次的合并。

相关文章

  • git8~rebase

    2019.06.25 git rebase git stash git pull --rebase git sta...

  • git stash与git rebase

    git stash 先看命令行 git stash - -help的帮主页面 也就是储藏你在当前工作的一些代码,状...

  • Git stash 技巧

    Git stash常用技巧 git stash save git stash list git stash app...

  • git的简单使用

    Git 一般配置: 分支: git提交代码: rebase相关 stash暂存 修改之前某次commit的日志和内...

  • stash 操作暂存区

    涉及命令:git stash、stash list、git stash apply、git stash drop ...

  • 【Git】stash

    stash git stash // 加入缓存区git stash save "注释"git stash list...

  • stash

    git stash ; //暂存 git stash list ;//暂存列表 git stash apply s...

  • git 缓存的常用方法

    git 缓存的常用方法 git stash2.git stash pop3.git stash list4.git...

  • Git Stash

    save stash$ git stash list stash$ git stash list apply st...

  • 储藏

    查看现有stash : git stash list 移除stash : git...

网友评论

    本文标题:git stash与git rebase

    本文链接:https://www.haomeiwen.com/subject/kpjheftx.html