質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.47%

  • Ruby

    7943questions

    Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

  • Ruby on Rails

    7495questions

    Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

  • Git

    1352questions

    Gitはオープンソースの分散バージョン管理システム(DVCS)です。

  • GitHub

    811questions

    GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

githubでpushするとリジェクトされる

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 256

abbey_wakos

score 11

最近、初めてGithubを使った者です。
pushしたらリジェクトされ、一週間何も前に進めなかったので質問さしてもらいます。
git pull origin masterをしてからpushしなおしても無理でした。
いくらやってもpushできません。

Changes not staged for commit:と表示されているので原因はこれだと思いました。更新されたファイルがaddされてないよと言われています。
ですが、ここからの対処法が初めてなので良く分かりません。

イメージ説明

もしよろしければ、アドバイス等いただきたいです。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+2

エラーメッセージに答えが書かれていますが、

(use "git add" and/or "git commit -a")

をすれば良いです。

$ git add controllers
$ git commit
$ git push


とかです。

gitは、ステージングと呼ばれる、コミット予約みたいな仕組みが有って、
コミットしたいファイルやフォルダをgit add で全て登録した上でcommitコマンドでコミットします。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/06/23 14:59

    解答ありがとうございます。

    すみません説明不足でした。

    controllersファイルをpushしたいのですが、それの解決策もそれでしょうか?

    キャンセル

  • 2018/06/23 15:03

    git add していなかっただけなので、
    それさえすればgit pushはそのまま同じやり方で通るはずです。

    キャンセル

  • 2018/06/23 23:14

    丁寧な対応ありがとうございます。

    git add controllersだと

    fatal: pathspec 'controllers' did not match any filesと出ます
    ファイルがありませんと言うことだと思うのですが、、、

    キャンセル

  • 2018/06/24 00:13

    すみません。もう一度実行したらaddできました。
    しかし、コミットしてpushしたら
    また、リジェクトされました。
    何とか頑張ってみます。

    忙しい中大変申し訳ありません。
    アドバイス等ありましたらお願いします

    キャンセル

  • 2018/06/24 08:10

    エラーメッセージを書いてみて下さい

    キャンセル

  • 2018/06/24 11:45

    git addするとこのようになります。

    ec2-user:~/environment/NBA_app/app (master) $ git add controllers
    ec2-user:~/environment/NBA_app/app (master) $ git status
    On branch master
    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: controllers (modified content)

    キャンセル

  • 2018/06/24 11:53

    外しているかもしれませんが、、
    左のツリーでは、Rails_lesson/NBA_app/app/controllers となっていますが、
    environment/で大丈夫なのですか?

    キャンセル

  • 2018/06/24 11:55

    ありがとうございます
    AWS cloud9を使用していますので大丈夫かと思います。

    キャンセル

  • 2018/06/24 12:16

    何かヒントになるものが見つかったかもしれません。違ったら申し訳ありません。

    ec2-user:~/environment/NBA_app/app (master) $ cd controllers
    ec2-user:~/environment/NBA_app/app/controllers (master) $ git status
    On branch master
    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)

    modified: players_controller.rb
    no changes added to commit (use "git add" and/or "git commit -a")

    ec2-user:~/environment/NBA_app/app/controllers (master) $ git add players_controller.rb
    ec2-user:~/environment/NBA_app/app/controllers (master) $ git status
    On branch master
    Changes to be committed:
    (use "git reset HEAD <file>..." to unstage)

    modified: players_controller.rb

    キャンセル

  • 2018/06/24 12:36

    git add が効いてないんですね。。不思議です。
    git config --list
    としてみて頂けますか?
    その際、その出力内容から、メールアドレスとお名前は削除して頂いて大丈夫です。

    キャンセル

  • 2018/06/24 12:39

    あと、一応、
    git --version
    もお願いします。

    キャンセル

  • 2018/06/24 12:40

    かしこまりました。

    ec2-user:~/environment/NBA_app/app/controllers (master) $ git config --list
    core.editor=/usr/bin/nano
    color.ui=true
    user.name=shingonakatani
    user.email=hoge@~~~~~~~~
    core.repositoryformatversion=0
    core.filemode=true
    core.bare=false
    core.logallrefupdates=true
    remote.origin.url=https://github.com/shingonakatani/mynba.git
    remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*

    キャンセル

  • 2018/06/24 12:40

    ec2-user:~/environment/NBA_app/app/controllers (master) $ git --version
    git version 2.13.6

    キャンセル

  • 2018/06/24 12:49

    ありがとうございます。それから、
    alias -p | grep git
    もお願いします。

    キャンセル

  • 2018/06/24 12:57

    いえいえ、ご教授してくれて大変感謝しています。。

    ec2-user:~/environment/NBA_app/app/controllers (master) $ alias -p
    alias egrep='egrep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias grep='grep --color=auto'
    alias l.='ls -d .* --color=auto'
    alias ll='ls -l --color=auto'
    alias ls='ls --color=auto'
    alias python='python27'
    alias rvm-restart='rvm_reload_flag=1 source '\''/usr/local/rvm/scripts/rvm'\'''
    alias vi='vim'
    alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

    キャンセル

  • 2018/06/24 13:02

    ec2-user:~/environment/NBA_app/app (master) $ git grep
    fatal: no pattern given.

    キャンセル

  • 2018/06/24 13:03

    特に設定には問題が見つからないですね。。

    キャンセル

  • 2018/06/24 13:05

    これお願いします。
    ls -la ~/environment/NBA_app/.git/index

    キャンセル

  • 2018/06/24 14:06

    今の状況。。。
    players_controller.rbをaddしてcommit →
    git add controllers → 先ほどaddが効いていなかったが、ステージングエリアに上げcommitまで成功できた。
    git push origin master -> rejectされました。。


    ec2-user:~/environment/NBA_app/app (master) $ git push origin master
    Username for 'https://github.com': hoge
    Password for 'https://hogehoge
    To https://github.com/shingonakatani/mynba.git
    ! [rejected] master -> master (non-fast-forward)
    error: failed to push some refs to 'https://github.com/shingonakatani/mynba.git'
    hint: Updates were rejected because the tip of your current branch is behind
    hint: its remote counterpart. Integrate the remote changes (e.g.
    hint: 'git pull ...') before pushing again.
    hint: See the 'Note about fast-forwards' in 'git push --help' for details.

    キャンセル

  • 2018/06/24 14:09

    ec2-user:~/environment/NBA_app/app (master) $ ls -al ~/environment/NBA_app/.git/index
    -rw-rw-r-- 1 ec2-user ec2-user 173 Jun 24 04:51 /home/ec2-user/environment/NBA_app/.git/index

    キャンセル

  • 2018/06/24 14:22

    このrejectは、githubに、ローカルには無いコミットがpushされている、ということを表しています。
    git pullでgithubのコミット内容をローカルに取り込めば、push出来るはずです。

    キャンセル

  • 2018/06/24 14:35

    できませんでした
    このようになっています。

    ec2-user:~/environment/NBA_app/app (master) $ git pull
    There is no tracking information for the current branch.
    Please specify which branch you want to merge with.
    See git-pull(1) for details.

    git pull <remote> <branch>

    If you wish to set tracking information for this branch you can do so with:

    git branch --set-upstream-to=origin/<branch> master

    ec2-user:~/environment/NBA_app/app (master) $ git push origin master
    Username for 'https://github.com': shingonakatani
    Password for 'https://shingonakatani@github.com':
    To https://github.com/shingonakatani/mynba.git
    ! [rejected] master -> master (non-fast-forward)
    error: failed to push some refs to 'https://github.com/shingonakatani/mynba.git'
    hint: Updates were rejected because the tip of your current branch is behind
    hint: its remote counterpart. Integrate the remote changes (e.g.
    hint: 'git pull ...') before pushing again.
    hint: See the 'Note about fast-forwards' in 'git push --help' for details

    キャンセル

  • 2018/06/24 14:36

    ec2-user:~/environment/NBA_app/app (master) $ git pull origin master
    From https://github.com/shingonakatani/mynba
    * branch master -> FETCH_HEAD
    fatal: refusing to merge unrelated histories
    ec2-user:~/environment/NBA_app/app (master) $ git push origin master
    Username for 'https://github.com': shingonakatani
    Password for 'https://shingonakatani@github.com':
    To https://github.com/shingonakatani/mynba.git
    ! [rejected] master -> master (non-fast-forward)
    error: failed to push some refs to 'https://github.com/shingonakatani/mynba.git'
    hint: Updates were rejected because the tip of your current branch is behind
    hint: its remote counterpart. Integrate the remote changes (e.g.
    hint: 'git pull ...') before pushing again.
    hint: See the 'Note about fast-forwards' in 'git push --help' for details.

    キャンセル

  • 2018/06/24 15:06 編集

    このgithub側リポジトリは、元々別で作成したものを流用していたりします?
    ローカルのソース一式と無関係のコミットがgithubに上がっている為のエラーです。
    github側の内容を破棄していいのであれば、一応方法は有ります。いかがです?

    ちなみに、新しいプロジェクトを始める際は、
    1) githubにリポジトリを作成してローカルにクローン
    2) クローンした環境でチェックアウトしてコミット作業
    4) git pushでgithubに反映
    の手順を行います。

    もし、ローカルにリポジトリを先に作ってしまってgithubに反映したいという場合は、
    1) githubにリポジトリを作成
    2) git remote add origin githubのリポジトリパス
    3) git push --set-upstream origin master
    とします。

    上記どちらの方法でも、origin masterのパラメータが不要になり、以降の作業では、
    git pull
    git push
    でいけます。

    キャンセル

  • 2018/06/24 19:39

    問題解決できたようです

    チュートリアルように作ったディレクトリが原因でした。ご教授ありがとうございます。そして、すみません
    controllersのpushには成功したのですが、コードが見れませんでした。これも何か理由があると思うのですが初心者なもので全く分かりません。もし原因がありましたら教えていただきたいです。

    https://github.com/shingonakatani

    キャンセル

  • 2018/06/24 20:12

    nbaのリポジトリですよね。push出来てないようです。
    何もエラーが出てないのですよね??

    キャンセル

  • 2018/06/25 21:42

    nbaのリポジトリでございます。pushした時にエラーは出てなかったと思います。
    コントローラーでも、posts_controllerやteams_controllerがあるのでそれぞれ別々でコミットしないといけないわけではないんですよね、、
    Submodule controllers updated from
    と書かれているのですが何かヒントになりますかね汗

    キャンセル

  • 2018/06/26 23:20

    元々、git addで登録出来たり出来なかったりとかも不思議なんですよね。。
    申し訳ないですが、私は手詰まりですね。ごめんなさい。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.47%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • Ruby

    7943questions

    Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

  • Ruby on Rails

    7495questions

    Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

  • Git

    1352questions

    Gitはオープンソースの分散バージョン管理システム(DVCS)です。

  • GitHub

    811questions

    GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。