在 Github 中推送新代码的问题

我在 Github 上创建了一个新的存储库,它现在只有 Readme.md 文件。

我有一个新创建的 RoR 项目,我想推到这个存储库。 下面是我在我的终端中给出的命令,以执行这个命令,以及我得到的错误。

git remote add origin https://github.com/aniruddhabarapatre/learn-rails.git

然后我输入了我的用户名和密码

git push -u origin master

错误-

To https://github.com/aniruddhabarapatre/learn-rails.git
! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'https://github.com/aniruddhabarapatre/learn-rails.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.

这是我第一次将我的代码推送到 Github 存储库,这些错误让我迷失了方向。我在这里搜索了一些其他的问题,但没有一个是第一次出现问题的。

206036 次浏览

假设您通过 github 提供的接口添加了 Readme.md 文件,那么自述文件还不在您的本地文件夹中。因此,当您试图推送到远程回购时,您会得到一个错误,因为您的本地回购缺少自述文件-可以说是“落后于时代”。因此,正如错误消息中建议的那样,首先尝试“ git pull”。这将从远程存储库中提取自述文件并将其与本地目录合并。在此之后,您应该没有问题推到远程回购(您发布的命令在我看来是有效的)。

当您创建 你在 GitHub 上的仓库时,您创建了一个 README.md,即 一个新的承诺

您的本地存储库还不知道这个提交,因此:

更新被拒绝,因为远程包含您所做的工作 本地没有。

你可能想遵循以下建议:

您可能希望首先合并远程更改(例如, “ git pull”) ,然后再推。

那就是:

git pull
# Fix any merge conflicts, if you have a `README.md` locally
git push -u origin master

如果这是您的第一次推动,那么您可能不会关心遥控器上的历史记录。然后,您可以执行“强制推送”来跳过 git 执行的检查,以防止覆盖远程上任何现有的或不同的工作。小心使用!

只要改变

git push **-u** origin master

像这样改变它!

git push -f origin master

如果你在 GUI 中使用 git for mac,你可以先选择 Repository-> Pull 或者“ comm + shift + p”到“ git Pull”,然后发布源代码。

使用以下命令发出强制推送:

git push -f origin master

Something 简单: 你只需要用力推一把。因为您可能已经在 Github 上创建了 readme.md文件,但还没有提取它。

git push -f origin master

这是动图。

git push -f origin master

Something 小心: 使用 force可以改变同一项目中其他人的历史。基本上,如果你不在乎一个文件被删除的每个人,只是继续前进。特别是如果你是项目中唯一的开发人员。

考虑到如果你有一段时间没有做出改变,也许这样做会对你有帮助。

git add files
git commit -m "Your Commit"
git push -u origin master

这招对我管用,希望对你也管用。

我为这个错误纠结了一个多小时!下面是帮助我解决这个问题的方法。这段时间,我的工作目录是我在系统中克隆的回购协议。

如果您正在向现有存储库添加文件 * * 1. 我把所有添加到 GitHub 文件夹中的内容都放了进去:

饭桶拉


产量是- 一些自述文件 档案1 文件2

  1. 我复制(拖放)我的新文件(我想要推送的文件)到我的克隆存储库(GitHub repo)。什么时候你会这个回购,你应该看到你的新旧档案。

一些自述文件 档案1 文件2 新文件1 新闻2

  1. Git 添加“ newfile1”“ newfile2”

  2. [可选] git 状态 这将确保您要添加的文件是否正确暂存 输出是


在树枝主人身上 你的分行已更新为「原产地/主机」。 需要做出的改变: (使用“ git 重置 HEAD...”卸载)

    new file:   newfile1
new file:   newfile2

5. git commit-m“ what description you want to give” 6. Git push

我所有的新文件和旧文件都在我的回购协议里。

当您通过以下 git 命令将数据从本地目录推送到远程 git 存储库时,将发生此错误: git push -u origin master

作为本地目录和 git 远程目录的文件冲突。

解决方案:

将所有文件提交到暂存之后,按照以下步骤操作。

  1. 从远程存储库获取文件作为它与本地工作目录的冲突。

    • git pull <remoter-url> <branch-name>
  2. 再次提交更改。

    • git add -A
    • git commit -m ‘<comment>'
  3. 提交合并文件后,可以使用这两个目录

    • git push -u origin master

这能解决问题,谢谢。

我也有过类似的问题。 我是这样解决的(我不是 git 专家,所以我不知道这是否是一个正确的解决方案,但它对我很有效) :

git pull origin master --allow-unrelated-histories
git merge origin origin/master
git rm README.md
git commit -m 'removed readme.md'
git push origin master

这种情况发生在你最初试图推动的时候。因为在你的 GitHub 回购中有 readMe.md 或其他任何不在本地回购中的新东西。首先你要合并你的 Github 回购记录

git pull origin master --allow-unrelated-histories

然后您可以使用这个命令从 repo (readMe.md 或任何命令)获取其他文件

git pull origin master

在那之后

git push -u origin master

现在你成功地把你所有的变化推到 Github 回购。我不是 git 专家,但每次这些步骤为我工作。

一个更简单的答案是手动将 README.MD 文件从您的计算机上传到 GitHub。

我使用分支选项,然后右键点击“远程/原点”文件夹,然后点击“从远程删除分支”,见下图:

the image

我在 Azure Git 上得到了这个错误,它解决了这个问题:

git fetch
git pull
git push --no-verify