git提交时报错:Updates were rejected because the tip of your current branch is behind

git提交时报错:Updates were rejected because the tip of your current branch is behind
有如下3种解决方法:

1.使用强制push的方法:
git push -u origin master -f
这样会使远程修改丢失,一般是不可取的,尤其是多人协作开发的时候。

2.push前先将远程repository修改pull下来
git pull origin master
git push -u origin master

3.若不想merge远程和本地修改,可以先创建新的分支:
git branch [name]
然后push
git push -u origin [name]

2020-04-20T23:59:12.png
在解决问题中遇到的几个问题:

        1,git pull 提示refusing to merge unrelated histories

        是因为两端在做完全不同的提交

        解决方法:git pull --allow-unrelated-histories

        2,git pull 报错:There is no tracking information for the current branch

        2020-04-21T00:01:05.png

        是因为本地分支和远程分支没有建立联系 (使用git branch -vv 可以查看本地分支和远程分支的关联关系) .根据命令行提示只        需要执行以下命令即可

        解决方法:

        一种是直接指定远程master:git pull origin master

        另外一种方法就是先指定本地master到远程的master,然后再去pull:

                git branch --set-upstream-to=origin/远程分支的名字  本地分支的名字

                git pull

        3,git push 报错GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com.

                
2020-04-21T00:01:43.png
        是因为GitHub限制单个文件大小不能超过100M

        解决方法:

        a,初始化Git LFS,任何位置运行一次“git lfs init”进行初始化和安装git-lfs.

        初始化成功后就可以用了. 如果没有安装好, 会显示:

       
2020-04-21T00:02:03.png
        可以通过使用 Homebrew 执行“brew install git-lfs”来安装,安装完成后,你还需要执行“git lfs install”命令

        b,注册文件到LFS,例如要注册tar.gz文件, 可以git lfs track "*.tar.gz",此时将追踪相应文件后缀名符合的文件,要是想只是添加某些文件,指定文件就好了,追踪成功后会生成一个.gitattributes文件,里面有LFS管理的文件类型信息。

        2020-04-21T00:02:22.png

        c,随后就是一般的提交到github,git add ;git commit -m "comment";;git push origin master;所有修改都提交也可以。

       d, 注:正常情况下,就能成功提交上去不报错了, 要是报错了,很有可能是你的大文件之前commit到本地库了,push时还是按之前的方式来提交到github所以报错;解决办法是撤销上一次commit后,进行再次push.

……

 
————————————————
版权声明:本文为CSDN博主「ZhangKui-01」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zhangkui0418/java/article/details/82977519

Last modification:April 21, 2020
如果觉得我的文章对你有用,请随意赞赏