首页 文章

发布在Github中推送新代码的问题

提问于
浏览
120

我在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存储库,我迷失了错误 . 我在这里搜索了几个其他问题,但没有一个问题第一次出现 .

11 回答

  • 243

    当您创建your repository on GitHub时,您创建了README.md,即a new commit .

    您的本地存储库尚不知道此提交 . 因此:

    更新被拒绝,因为遥控器包含您本地没有的工作 .

    您可能希望遵循以下建议:

    您可能希望在再次推送之前首先合并远程更改(例如,'git pull') .

    那是:

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

    如果这是你的第一次推动

    只是改变了

    git push **-u** origin master
    

    像这样改变它!

    git push -f origin master
    
  • 0

    ⚡️EASY:你所需要的就是强行推动 . 因为您可能已经在Github上创建了readme.md文件而您尚未提取它 .

    git push -f origin master
    

    这是一个GIF .

    git push -f origin master

    请注意:使用 force 可以更改同一项目中其他人的历史记录 . 基本上,如果你不是项目中唯一的开发人员.1404897_

  • 0

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

    git push -f origin master
    
  • 3

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

  • 31

    考虑到你有一段时间没有提交你的更改,也许这样做对你有用 .

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

    这对我有用,希望它也适合你 .

  • 5

    当你尝试最初推送时会发生这种情况 . 因为在你的GitHub仓库中有readMe.md或者你当地仓库中没有的任何其他新东西 . 首先,你必须合并你的github repo的无关历史 . 要做到这一点

    git pull origin master --allow-unrelated-histories
    

    然后你可以使用它从repo(readMe.md或任何)获取其他文件

    git pull origin master
    

    之后

    git push -u origin master
    

    现在你成功地将所有更改推送到Github repo.I我不是git的专家,但每次这些步骤对我有用 .

  • 139

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

  • 5

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

    由于本地目录和git远程目录的文件冲突 .

    Solution :

    将所有文件提交到分段后,请按照以下步骤操作 .

    • 从远程存储库中获取文件,因为它与本地工作目录冲突 .

    • git pull <remoter-url> <branch-name>

    • 再次提交更改 .

    • git add -A

    • git commit -m ‘<comment>'

    • 用两个目录提交合并文件后即可使用

    • git push -u origin master

    这将解决问题 . 谢谢 .

  • 1

    我挣扎了这个错误超过一个小时!以下是帮助我解决它的原因 . 所有这一切,而我的工作目录是我克隆在我的系统上的回购 .

    如果您正在将文件添加到现有存储库中** 1.我将添加到存储库的所有内容都提取到了我的GitHub文件夹:

    git pull


    输出是 - 一些自述文件file1 file2

    • 我将我的新文件(我想要推送的文件)复制(拖放)到我的克隆存储库(GitHub repo) . 如果您将使用此回购,您应该会看到旧的和新的文件 .

    例如 . 一些自述文件file1 file2 newfile1 newfile2

    • git add“newfile1”“newfile2”

    • [可选] git status这将确保您要添加的文件是否正确上演或不输出


    在分支主数据上您的分支是最新的'origin / master' . 要提交的更改:(使用“git reset HEAD ...”取消暂停)

    new file:   newfile1
        new file:   newfile2
    

    5.git commit -m“你要给的任何描述”6.git push

    我的所有新文件和旧文件都在我的回购中看到 .

  • 42

    我曾有一个类似的问题...我这样解决了(我不是一个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
    

相关问题