当在项目中使用git进行团队协作,需要切换分支,本地有代码 不想上传,
或者需要rebase,本地有改动 还未提交commit时,参考这两个做法:
A、把本地文件存到本地的贮藏区,用时再取出来:
1、把本地更改存到贮藏区
git stash -u
2、 从贮藏区拉取出最新一次储存
git stash pop
B、把本地的改动提交到本地分支的commit,再退回commit:
这个方法不如上面的快捷便利,但是在本地将代码和分支绑定在一起会更安全
1、add暂存后,将改动部分commit
git commit -m "提交信息"
2、 将最新一次commit放弃,并将所有改动放回到本地
git reset --soft HEAD^
方法B的延伸:
首先git push这个命令是将你本地分支上所有新的commit推送到对应的远程分支,这也就意味着,本地未commit的所有改动都不会被推送,因此我们尝试这样的操作场景:
(1)与远程M分支相比,本地M分支新增了commit X条,以及未commitde Y个文件的修改
(2)使用git push命令,将X条commit推送到远程分支,此后本地仍有Y个文件的修改
(3)使用git commit命令,将Y个文件提交到本地M分支了
(4)此后工作区干干净净,再进行切换分支的操作也不担心代码混乱了
以上是关于git如何临时保存修改的方法总结,欢迎指摘建议。
【以上命令的相关使用更详细可以参考:
一、Git Stash 提高开发效率 - 简书 (jianshu.com)
二、git系列--放弃提交(commit) - 知乎 (zhihu.com)】