git遇到的系列问题

出现you need to resolve your current index first报错提示

当使用git checkout 切换分支时会提示you need to resolve your current index first,使用如下命令即可解决。

1
$ git reset --merge

github上显示commit的Author与账户名称不符

进入git bash,重新进行配置

1
2
$ git config --global user.name "xxx" 
$ git config --global user.email "xxx"

出现Updates were rejected because the tip of your current branch is behind报错提示

说明当前的分支代码不是最新的代码,需要更新一下master分支

  • push前先将远程repository修改pull下来

  • 1
    2
    3
    $ git checkout master
    $ git pull origin master
    $ git push -u origin master

git push时出现Everything up-to-date报错提示

  • 如果之前未提交过文件,而你在git push的时候出现Everything up-to-date,并且文件也没有提交上去。可能是因为你没有git add 和 git commit。

  • 也可能是git提交改动到缓存,要push的时候不会将本地所有的分支都push掉,所以出现这个问题。应该告诉git提交哪个分支。

    这里有种特殊的情况是如果fork别人的仓库再clone到本地的话,即使git上只有一个主分支,他还是可能出现这个错误。那么我们就需要新建分支提交改动然后合并分支。

    接下来先创建一个新分支提交改动

    1
    $ git branch newbranch

    然后输入这条命令检查是否创建成功

    1
    $ git branch

    终端输出

    1
    2
      newbranch
    * master

    这样就创建成功了,前面的*代表的是当前所在的工作分支。接下来就要切换工作分支。

    1
    $ git checkout newbranch

    可以 $ git branch 确认下。然后将改动提交到新的分支上。

    1
    2
    $ git add .
    $ git commit -a

    此时可以 $ git status 检查下提交情况。如果提交成功,接下来就要回主分支了,代码和之前一样。

    1
    $ git checkout master

    然后将新分支提交的改动合并到主分支上

    1
    $ git merge newbranch

    合并分支可能产生冲突,下面的代码可以查看产生冲突的文件,然后做对应的修改再提交一次就可以了。

    1
    $ git diff

    接下来就可以push代码了。

    1
    $ git push -u origin master

    最后不能忘记删除分支

    1
    $ git branch -D newbranch

    如想保留分支只是想删除已经合并的部分只要把大写的D改成小写的d就行了。

0%