赞
踩
我的git汇总篇:https://blog.csdn.net/weixin_44647371/article/details/88177472
本地开发时,某些本地专属配置(a,本地新增的一个配置文件;b.本地修改了远程仓库拉下来的某个配置文件但还没提交的)不希望被commit,因为push前有时会必须要求必须处理尚未commit的文件,可如果commit会干扰到远程仓库数据,如果回滚或删除的话下次又得重新配置,更是麻烦。
本地开发做到一半还未提交,因为某些原因要切换到其他分支去,为了避免现有还未提交的数据既不会丢失也不会因为切换分支而带到其他分支去,需要将本地还未commit或add的代码临时保存起在一个地方,后面再切换回来的时候再将数据还原回去。
解决办法:使用stash和unstash。
原理:将本地仓库中还没有commit提交的代码全部移动到stash临时存储区,此时本地git中就不含未提交的代码可以顺利执行push了。push完后在将数据从临时存储区还原回来
a.如下的sdasdada.xml文件不希望被commit上去,先在下面新建一个changelist,把不需要commith或不需要add的文件移到该"不提交"下
b.先把要提交的部分提交了,建议最好在右键点击对应changeList进行提交,以免失误吧所有的都给commit了,此时就只剩下一些不希望被commit的内容
c.【重要】数据转移,现在将本地还未commit的内容全部移动到临时区中,注意,是移动,不是复制
d.此时项目中就不存在未commit的文件了,可以进行push或者切换分支等其他操作了
e.【重要】数据还原,其他操作完了后,再还原回原来转移的数据,注意还原回来的数据记得再移动到
f.如果勾选了Pop stash,就会删掉临时区的数据,下次push前又要重新stash保存再unstash还原。
如果不勾选,下次push前只需将专属配置文件回滚回原始版本或删掉,下次直接再去unstash还原即可
假如从远程拉取a.txt内容为”远程配置“,此时在本地把内容改为”local配置“,因为此时a.txt的内容属于修改了但没commit提交的,可以通过stash保存到临时区,此时项目中a.txt的内容会自动还原回上次commit的内容(即”远程配置“)。如诺此时通过unstash把临时区数据还原a.txt内容会变更为”local配置“。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。