共计 1569 个字符,预计需要花费 4 分钟才能阅读完成。
间隔了一段时间未往 gitlab 上 push 文件,近期使用时,发现 push 时报错,这里记录下解决处理的方法。
错误一:
[root@361way shell]# git push
warning: push.default is unset; its implicit value is changing in
Git 2.0 from 'matching' to 'simple'. To squelch this message
and maintain the current behavior after the default changes, use:
git config --global push.default matching
To squelch this message and adopt the new behavior now, use:
git config --global push.default simple
See 'git help config' and search for 'push.default' for further information.
(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
'current' instead of 'simple' if you sometimes use older versions of Git)
放 ” 狗 ” 查询后,得知‘matching’参数是 Git 1.x 的默认行为,其意是如果你执行 git push 但没有指定分支,它将 push 所有你本地的分支到远程仓库中对应匹配的分支。而 Git 2.x 默认的是 simple,意味着执行 git push 没有指定分支时,只有当前分支会被 push 到你使用 git pull 获取的代码。键入如下命令:
[root@361way shell]# git config --global push.default matching
错误二:
[root@361way shell]# git push -u origin master
To https://361way:mypassword@github.com/361way/shell.git
! [rejected] master -> master (fetch first)
error: failed to push some refs to 'https://361way:mypassword@github.com/361way/shell.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first merge the remote changes (e.g.,
hint: 'git pull') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
再次 push,发现又有报错,根据报错内容,大致了解的情况是,本地和远端的内容可能不一致,建议 git pull 一份,再 push 到 romte。由于平时有些修改会在阿里云服务器上修改过的懒得 push 到远端同步,所以本地和远端的不一致也是有可能的。即然不一致,以阿里云上保存的为准吧,强制同步下。
[root@361way shell]# git push -u origin master --force
强制同步,发现可以正常同步内容到 github 上,而且后面再加文件进行同步,发现也未出现报错了。
正文完
星哥玩云-微信公众号