为什么git push origin master不起作用?

时间:2015-06-09 22:00:10

标签: git github

我修改了我的本地文件。我在当地承诺,没关系。但是当我推送到github时,我得到的消息是所有的东西都在更新。这是命令及其结果:

git push origin master

我有以下错误消息:

Everything up-to-date

然后看看发生了什么,我运行gitK命令,我有:

enter image description here

我不明白为什么会收到此错误?为什么我不能将我的代码推送到github?

我运行命令:

git status
On branch dev-branch
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)
  (commit or discard the untracked or modified content in submodules)

    modified:   deploy/openshift (modified content)

no changes added to commit (use "git add" and/or "git commit -a")

2 个答案:

答案 0 :(得分:2)

根据您的git status消息,您处于分支dev-branch而不是master

git push origin master时,最后一个参数是分支名称。您在名为dev-branch但不在master的分支中提交,因此推送master没有任何更改。

您可能要么:

git push origin dev-branch

将在GitHub上创建dev-branch分支并将代码推送到那里,或者..

git checkout master
git merge dev-branch
git push origin master

将您的更改从dev-master合并到master(因此master将包含所有来自dev-branch的提交),然后将master推送到GitHub。

答案 1 :(得分:1)

您收到此邮件的原因是您有未分期更改。

要将更改推送到服务器,您必须执行以下步骤:

  1. 阶段变更:这是告诉git跟踪某个文件的变化。您可以使用以下命令行执行此操作:git add -u <filename>-u标志只添加已更新的文件,这要归功于o11c的提示!)

  2. 提交更改:将所有文件添加到舞台后,您需要使用git commit -m "A commit message here"

  3. 在本地保存这些文件
  4. 推送到服务器:现在运行git push origin master

  5. 一步到位:

    # This adds all updated files in current folder to the stage, 
    # then commits with message  and pushes to server
    
    
    $ git add -u .; git commit -m "[YOUR MESSAGE HERE]"; git push origin master