用sourceTree提交代码时遇到的问题

xcuserstate

每次并没有改什么东西,只是随便点了几下就会出现的未暂存文件,可以对其停止追踪! 

右键,停止追踪,提交,推送。以后就不会再有这个讨厌的文件出现了!

还没有提交就拉代码的囧境

有的时候忘了拉取代码就开始提交,往往这时候就会出现提交成功,但无法推送的报错情况: 

而且这时候的状态就是既无法提交又不能拉取代码的窘境,就连贮藏也不行。 

搞了很久,研究出两个办法:

    • 方法一:使用reset+贮藏 
      首先,将本地的develop分支reset到之前的版本: 

      reset develop to this commit

      选择软合并或者是默认的混合合并【千万不要选择硬合并!不然之前码的代码都没了】 

      然后就回到了初始状态: 

      这时候再暂存+贮藏一下,拉取代码,应用贮藏,解决冲突就可以了~

    • 方法二:建立一个新的分支 
      右键新建一个test分支:

      然后checkout(检出,其实就是双击)到原来的分支:

      将原来的develop分支reset到初始状态(这个时候要用硬合并,因为你的代码已经保存到test分支里面了所以不用担心)

      这个时候终于可以拉取远端了!

      然后再把test分支合并到develop分支就可以了~

      其实总结一下这两个方法的原理是一样的,都是先把自己的代码存到一边,然后再拉取远端代码,再合并。如果中间遇到不能拉取的情况,一定是xcuserstate文件在作怪!嗯!

原文地址:https://www.cnblogs.com/soundcode/p/7212290.html