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

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

ただいまの
回答率

90.48%

  • Ruby on Rails

    9026questions

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

  • AWS(Amazon Web Services)

    2593questions

    Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

  • Git

    1669questions

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

  • BitBucket

    203questions

    BitBucketは無料のリポジトリ管理ホスティングサービスです。 MercurialとGitのVCSに対応しています。プライベートリポジトリを、制限なく作成することが可能です。

Git : AWS * Bitbucket にてリモートに最初のプッシュが行えない

解決済

回答 3

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 330
退会済みユーザー

退会済みユーザー

前提

現在Ruby on rails TutorialにてRailsを学習中の初学者です。
文中指定の通りAWSを用いて学習を開始したのですが、項番1.4.3にて詰まっております。

問題

問題が発生している箇所はリスト1.11の部分です。

$ git remote add origin git@bitbucket.org:[UserName]/hello_app.git
$ git push -u origin --all

1行目は無事行うことができるのですが、2行目にて以下のログが表示されます。

$ git push -u origin --all
Warning: Permanently added the RSA host key for IP address '18.205.93.1' to the list of known hosts.
Enter passphrase for key '/home/ec2-user/.ssh/id_rsa': 
invalid command syntax.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

致命的なエラーとして、リポジトリが読み取れませんと表示されてしまいます。

試したこと

こちらのサイトを参考に、リモートの再登録を行おうとすると、以下のログが出力されました。

$ git remote add origin git@bitbucket.org:[UserName]/hello_app.git
fatal: remote origin already exists.

既にリモートが存在するということでしたので、こちらのサイトを参考に一度リモートを削除し、改めてリモートの登録を行いそのままプッシュしたところ、次に以下のログが出力されました。

$ git push origin
fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream origin master

致命的なエラー解消のために指定されたコマンドを入力したのですが、以下のログが出力されました。

$ git push --set-upstream origin master
Enter passphrase for key '/home/ec2-user/.ssh/id_rsa': 
To bitbucket.org:uguni123/hello_app.git
 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'git@bitbucket.org:[UserName]/hello_app.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 integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

ヒントとこちらのサイトを参考に、以下の4つを試してみました。

対応方法 1) とりあえず git pull する
...
対応方法 2)fetch して merge する
...
対応方法 3)fetch して rebase する
...
対応方法 4)pull –commit や pull –rebase する
...

全て試してみたのですが、問題解決には至ることができませんでした。
GitHubの記事は多く散見するのですが、Bitbucketについての記事は相対的に数が少なく、自分の検索力不足からTeratailさんに質問させていただくことに致しました。

皆さんの知恵をお借りさせていただければ幸いです。
よろしくお願いします。

環境

Windows 10 64bit
Firefox Quantam 62.0.3
Git 2.14.4
Amazon Linux AMI release 2018.3

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

回答 3

checkベストアンサー

+1

チュートリアルの順番からすると大丈夫とは思いますが、git add -A, git commitは済んでますよね?

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2018/10/03 16:28

    回答ありがとうございます。
    項番通りに行っていたので、そちらの行程は完了しております。

    ```bash
    $ git log
    commit 80b68406b98a6f57e4c2ffe60df4021b17a4e6f2 (HEAD -> master)
    Author: [user.name] <[user.email]>
    Date: Wed Oct 3 05:45:49 2018 +0000

    Initialize repository
    ```

    上記の出力にて済んでいることは確認が取れると認識しております。

    キャンセル

  • 2018/10/03 16:41

    申し訳ございません、現在確認してみたところaddとcommitが完了しておりませんでした。

    ```bash
    $ git status
    On branch master
    Untracked files:
    (use "git add <file>..." to include in what will be committed)

    hello_app/

    nothing added to commit but untracked files present (use "git add" to track)
    ```

    ただしaddとcommitを両方済ませたのですが、最終的にpushを行う際には今までと同様のログが出力されてしまいます。

    ```bash
    $ git add hello_app/
    $ git commit -m "Initialize repository"
    [master 9340f13] Initialize repository
    1 file changed, 45 insertions(+)
    create mode 100644 hello_app/README.md
    $ git push -u origin --all
    Enter passphrase for key '/home/ec2-user/.ssh/id_rsa':
    To bitbucket.org:uguni123/hello_app.git
    ! [rejected] master -> master (fetch first)
    error: failed to push some refs to 'git@bitbucket.org:[UserName]/hello_app.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 integrate the remote changes
    hint: (e.g., 'git pull ...') before pushing again.
    hint: See the 'Note about fast-forwards' in 'git push --help' for details.
    ```

    キャンセル

  • 2018/10/03 16:50

    Bitbucketのサイトでgitリポジトリを作成したさい、READMEの作成にはチェックを入れましたか?入れた場合、初回コミットまで行われ、入れないと
    ステップ2: 既存のリポジトリをBitbucketに接続する

    git remote add origin https://XXXX@bitbucket.org/XXXX/hello_app.git
    git push -u origin master
    をしてくださいね、という案内が画面に表示されました。

    キャンセル

  • 2018/10/03 17:13

    リポジトリをREADMEなしで作り直し、画面の表示に従うことで無事pushをすることができました!
    Ruby on railsチュートリアルに表示されているBitbucketと現在のBitbucketの表記の違いが原因でした。

    長いやり取りにて申し訳ありませんでした、ご回答ありがとうございます!

    キャンセル

  • 2018/10/03 17:17

    github,BitbucketはSaaSのため、どんどん進化にともなって使い方や挙動が変わってきますからね。でもいったんgitリポジトリを作成してremoteとして繋がれば、あとはgitコマンド自体の使用方法のお話しになります。
    がんばってください!

    キャンセル

+1

git push -u origin --all を実行したときのエラーメッセージをよく見ましょう。

invalid command syntax.

「不正なシンタックス」とあります。おそらく、 --all の位置が悪いです。最新のgitドキュメントを参照してください。
--all は git push の直後に置く形になっています。

pushするときは原則としてpushしたいブランチ名を指定しましょう。間違えたブランチにいることに気づかずにpushする事故を防ぐ目的があります。

$ git push origin master

push が reject になった件ですが、おそらくローカルのmasterブランチの状態がリモートの状態とうまく一致しないのが原因です。
別のどなたかが既にmasterブランチを更新してpush済みだったりすると発生します。
ブランチを分けて作業する癖をつけたほうがいいと思います。

git pushがrejectされたときの解決方法URLまとめ などを参考に解決してください。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

0

fatal: remote origin already exists.


はoriginが見つかっていると言っているので、リモートブランチの接続情報を解除する必要があります。

git remote remove origin


その上で

git remote add origin git@bitbucket.org:(UserName)/hello_app.git


を実行して下さい

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2018/10/03 15:57 編集

    ご回答ありがとうございます。
    コードブロックとしては表示していないですが、

    ```bash
    $ git remote remove origin
    ```

    は行った上で、改めてリモートの登録を行い、プッシュする作業は行いました。

    その際に文中にあるように、

    ```bash
    $ git push -u origin --all
    Enter passphrase for key '/home/ec2-user/.ssh/id_rsa':
    To bitbucket.org:[UserName]/hello_app.git
    ! [rejected] master -> master (fetch first)
    error: failed to push some refs to 'git@bitbucket.org:uguni123/hello_app.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 integrate the remote changes
    hint: (e.g., 'git pull ...') before pushing again.
    hint: See the 'Note about fast-forwards' in 'git push --help' for details.
    ```

    のエラーが発生してしまい、先に進むことができませんでした。

    キャンセル

  • 2018/10/03 16:00

    sshキーの登録が正しくされていない為に発生しているエラーかと思われます

    キャンセル

  • 2018/10/03 16:06

    https://www.granfairs.com/blog/staff/gitbash-ssh
    を参考に設定してみて下さい。

    キャンセル

  • 2018/10/03 16:08

    sshキーの認証は何度かやり直したため、方法が間違っていない限りは入力間違いなどはないかと思います。

    Bitbucketにsshキーを認証する手順は[Rails Tutorialのリスト1.11](https://railstutorial.jp/chapters/beginning?version=5.1#code-bitbucket_add_push)から参照し、以下の手順にて行っております。

    > 1. Bitbucketアカウントがない場合はアカウントを作成します。
    > 2. 公開鍵をクリップボードにコピーします。既に公開鍵を作成している場合は、リスト 1.10のようにcatコマンドを使って公開鍵を表示ができます。まだ作成していない場合はリスト 1.10のコマンドを実行しても No such file or directory と表示されます。まだ作成していない場合は「Git - SSH 公開鍵の作成」を参考に公開鍵・暗号鍵を作成してください。
    > 3. Bitbucketに公開鍵を追加するには、左下にあるアバター画像をクリックして [Bitbucket 設定]、[SSH 鍵] の順に選択します (図 1.18)。

    sshは

    ```bash
    $ cat ~/.ssh/id_rsa.pub
    ```

    にて出力されたものをクリップボードを使い貼り付けています。
    前後に空白などは確認できなかったので、恐らくssh設定は誤りはないと思っております。

    何か誤ってる箇所などありましたらご指摘いただけると幸いです。

    キャンセル

  • 2018/10/03 16:17

    クライアント側のgitが参照するsshキーが登録できているでしょうか。
    windowsであればc:\Users\[ユーザ名]\.sshフォルダに鍵を登録しておきます。

    キャンセル

  • 2018/10/03 16:24

    今回使用しているPCはWindowsですが、使用している環境はAWSを使用しております。
    AWS上のsshキーの登録可否は、以下のコマンドを入力した際に、「id_rsa」と「id_rsa.pub」が確認できることで登録ができていると認識しております。

    ```bash
    $ ls -a ~/.ssh/
    . .. authorized_keys id_rsa id_rsa.pub known_hosts
    ```

    また、AWSを使用している上ではローカルマシン(使用しているWindowsPC)のssh設定は不要と認識しております。

    何か誤りがあればご指摘いただけると幸いです。

    キャンセル

  • 2018/10/03 16:34

    ローカルマシンからgitを実行するのであれば公開鍵を登録しておく必要があるかと思います。

    キャンセル

  • 2018/10/03 16:37

    申し訳ございません、言葉足らずでした。

    ローカルマシンからGitは行っておらず、AWS上で編集したファイルをAWS上のTerminalからGitを扱っております。

    ローカルマシンからファイルに触れたりコマンドを入力したりすることは現状一切ございません。

    キャンセル

  • 2018/10/03 16:46

    そういう事でしたか。
    でしたら仰る通りsslの設定は不要ですね。

    キャンセル

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

  • Ruby on Rails

    9026questions

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

  • AWS(Amazon Web Services)

    2593questions

    Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

  • Git

    1669questions

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

  • BitBucket

    203questions

    BitBucketは無料のリポジトリ管理ホスティングサービスです。 MercurialとGitのVCSに対応しています。プライベートリポジトリを、制限なく作成することが可能です。