用sourceTree提交代码遇到的问题

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

xcuserstate

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

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

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

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

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

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

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

    reset develop to this commit

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

    然后就回到了初始状态:

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

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

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

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

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

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

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