ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

git 中遇到的错误及解决方法

2021-11-16 11:02:00  阅读:201  来源: 互联网

标签:origin pull git 错误 遇到 hint master push


1.git pull遇到错误:error: Your local changes to the following files would be overwritten by merge:

方法1:如果你想保留刚才本地修改的代码,并把git服务器上的代码pull到本地(本地刚才修改的代码将会被暂时封存起来)

git stash
git pull origin master
git stash pop

如此一来,服务器上的代码更新到了本地,而且你本地修改的代码也没有被覆盖,之后使用add,commit,push 命令即可更新本地代码到服务器了。

方法2、如果你想完全地覆盖本地的代码,只保留服务器端代码,则直接回退到上一个版本,再进行pull:

git reset --hard
git pull origin master

2 在git push origin master时出现以下这个问题时:

error: failed to push some refs to 'git@github.com:yangchao0718/cocos2d.git
hint: Updates were rejected because the tip of your current branch is behin
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

出现错误的主要原因是github中的README.md文件不在本地代码目录中 可以通过如下命令进行代码合并        注:pull=fetch+merge]

git pull --rebase origin master

git push -u origin master

3 如果出现这样的错误:The file will have its original line endings in your working directory.


解决办法:

git rm -r --cached ./
git config core.autocrlf false
git add ./

4 git出现这样的错误:Git master branch has no upstream branch

$> git push
fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use
 
    git push --set-upstream origin master


原因分析:没有将本地的分支与远程仓库的分支进行关联。出现这种情况主要是由于远程仓库太多,且分支较多。在默认情况下,git push时一般会上传到origin下的master分支上,然而当repository和branch过多,而又没有设置关联时,git就会产生疑问,因为它无法判断你的push目标。

解决: 方法一:(远程分支存在的情况才能使用)

# 查看要指向的 repository
git remote -v
 
# 查看所有分支
git branch -a

git push --set-upstream origin master
# master: 远程branch
# oringin: 在clone远程代码时,git为你创建的指向这个远程代码库的标签,它指向repository。


方法二:根据需要,替换origin和master,此方法的好处是即使远程没有你要关联的分支,它也会自动创建一个出来,以实现关联。

git push -u origin master

5 出现这个错误:! [rejected] master -> master (fetch first)

 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'git@11.111.11.11:bboyHan/golang-data.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 integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

原因分析:没有同步远程的master 解决:

git pull origin master

6 Git出现failed to push some refs to


描述:

$ git push -u origin master
To git@github.com:******/Demo.git
 ! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:******/Demo.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Merge the remote changes (e.g. 'git pull')
hint: before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

解决方法:

(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]

7 Git出现fatal: refusing to merge unrelated histories的时候


描述:这是从远程库pull项目,合并文件发生的异常

解决方案:在pull的时候添加 --allow-unrelated-histories。

$ git pull origin master ----allow-unrelated-histories

这个功能是可以让大家不要把仓库上传错了,如果会加上这个代码,那么就是自己确定了上传。之前很容易就把代码传错了,现在可以看到,如果上传的不是之前的,那么就需要加代码。

8 当Git出现error:src refspec master does not match any 错误时:


描述:在push项目的时候,引发该异常。 原因分析:目录中没有文件,空目录是不能提交上去的,获取没有add、commit文件直接进行push了。 解决方案:

touch README
git add README 
git commit -m 'first commit'
git push origin master

9 git时出现fatal: Authentication failed for 'https://github.com/ ...


描述:使用的https提交,在用SourceTree提交代码时候发生错误,返回的错误提示说:fatal:Authentication failed for'https://github.com/... 解决方案:重新执行Git config命令配置用户名和邮箱即可:

git config -–global user.name "xxx" 
git config –-global user.email "xxx@xxx

​

标签:origin,pull,git,错误,遇到,hint,master,push
来源: https://blog.csdn.net/weixin_60200454/article/details/121336061

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有