Git推送错误:请求的URL返回错误400。

10

我是Git的新手,尝试使用Git Bash将Java项目推送到GitHub。

以下是我的操作:

  • 在GitHub上创建了一个名为“Blog”的存储库

  • 在Git Bash中进行以下操作:

    $ cd C:/Users/Alessandro/workspace/BLOG

    $ echo "# Blog" >> README.md

    $ git add --all

    $ git commit -m "Initial commit"

    $ git remote add origin https://github.com/alerossi82/Blog

    $ git push -u origin master

但当我进行推送时,得到以下结果:

fatal: unable to access 'https://github.com/username/repository/': The requested URL returned error: 400

我在某处看到说这可能是登录问题,但我已经检查了我的GitBash配置,用户名和电子邮件与GitHub匹配。 当我提交push时,我已登录到我的GitHub帐户,并且没有从GitBash收到任何插入密码请求。

然后我尝试直接从Eclipse推送项目,但是这也失败了,实际上当我推送更改时,我收到消息: - 主分支>>主分支[被拒绝-非快速转发]

我完全迷失了,我认为所有步骤都是正确的,但似乎我的本地和远程存储库彼此不想交流,我不知道为什么。

有帮助吗?


1
为什么你把JAVA加入标签中了?你可能需要先进行一次Pull,然后再进行更改并Push。 - user2004685
好的,正如我所写的,我对Git还很陌生,但如果我理解正确,Pull是一个请求,旨在将分支中的更改合并到主分支中,这是正确的吗?事实上,我没有对我的项目进行任何更改,因此我也没有创建任何替代分支;我只是想将我的项目中的所有文件拉到远程存储库中的主分支中。这有意义吗,还是我漏掉了什么? - Alex Reds
如果您直接将更改推送到主分支,则不会涉及拉取请求。如果您正在使用功能分支,则必须创建拉取请求以将其合并到您的开发/主分支上。 - user2004685
4个回答

2

我曾遇到类似问题,后来发现是由于之前运行了git config --global url."git@github.com:".insteadOf "https://github.com/"git config --global url."https://github.com/".insteadOf "git@github.com:",导致这两行代码被添加到我的.gitconfig文件中。所以我使用终端中的vim清理了.gitconfig文件:

$ vi $HOME/.gitconfig

然后使用vim编辑器删除了不需要的行。希望能对你有所帮助。


0

你错过了

 git add . -A

在提交之前没有添加任何文件


cd C:/Users/Alessandro/workspace/BLOG
echo "# Blog" >> README.md

# Here you need to run the git add command 
git add -A .

git commit -m "Initial commit"
git remote add origin https://github.com/alerossi82/Blog
git push -u origin master

1
实际上,我已经添加了文件,只是在我的帖子中忘记写一行。我刚刚更新了它,谢谢。 - Alex Reds

0

你错过了重要的.git部分。你添加的URL对应于你在GitHub上查看的网页,而不是git仓库。你应该这样做:

$ git remote add origin https://github.com/alerossi82/Blog.git

此外,如果这是你自己的仓库,你可能想使用SSH URL而不是HTTPS URL: $ git remote add origin git@github.com:alerossi82/Blog.git

这将使你的日常生活更轻松,因为你可以使用ssh密钥进行身份验证,而不是每次都输入你的GitHub密码。有关GitHub URL的更多信息请点击此处


0

你应该先检查哪些文件已经被修改并准备好提交,使用:

git status

如果您看到任何更改的文件,请使用以下命令将它们暂存以进行提交:

git add .

然后提交您的更改。

git commit -m "your commit message"

最后:

git push -u origin master

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接