error:failed to push some refs to 'git@github.com:benben/golang.git'

本文介绍了解决Git推送时遇到更新被拒绝的问题,分析了错误产生的原因,并提供了两种解决方案:一是通过git pull同步远程更改后再尝试推送;二是利用.gitignore文件排除特定文件后重新推送。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上面的错误,Git给出的提示是:Updates were rejected because the remote contains work that you do not have locally.This is usually caused by another repository pushing to the same ref.You may want to first integrate the remote changes (e.g.,'git pull ...')before pushing again. See the 'Note about fast-forword' in 'git push --help' for details.
从上面提示我们不难看出,之所以出现这个原因就是远程仓库中存在本地没有的文件,所以Git建议你先拉取代码,再进行代码提交(git pull之后再git push)。这是一种方法,适合于你本地需要远程多出来的文件。但当你需要远程以本地为主,放弃远程多出来的文件,这时就需要另作处理。
这时,你就可以使用.gitnore文件。它指定了Git应该忽略一些故意不用跟踪的文件。Git已经跟踪的文件不受影响,具体使用规则看下面:
.gitignore文件中的每一行都指定一个模式,在决定是否忽略路径时,Git通常会检查来自多个来源的.gitignore模式。

  • 空行不匹配任何文件,因此它可以作为可读性的分隔符;
  • 以#开始的行是注释;
  • 尾部空格将被忽略,除非用反斜杠引用;
  • 以/结尾,则它只会用目录找到匹配项,例如:foo/会匹配目录foo和它下面路径下的文件;
  • *表示全局匹配除了“/”。

example

.gitignore文件

# 忽略项目下所有的tmp,exe,log文件
*.tmp
*.exe
*.log

#忽略项目下logs,temp,vendor目录及其之下的所有文件
logs/
temp/
vendor/

当你设置好不需要提交的文件后,然后重新git push就可以解决上面的问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值