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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Git

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

GitHub

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

Q&A

解決済

1回答

8135閲覧

【git】2回目以降のgit remoteでエラーを吐かれます

zyno

総合スコア41

Git

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

GitHub

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

0グッド

0クリップ

投稿2018/08/03 07:06

編集2018/08/03 07:53

題目の通りです。

git

1git add . 2git status 3git commit -m "resize font" 4git remote add origin http://github.com/zizynonno/railsweb.git

の順でgithubにプッシュをしようと思っているのですが、fatal: remote origin already exists.というエラーを吐かれ、その後git push -u origin masterしてユーザー名とパスワードを入力しようとしてもGitHub側で変更が反映されないケースがチラホラ見当たるので、根本的な原因解明をしたいと考えております。

##こちらで類推していること&わからないこと

fatal: remote origin already exists.は「すでに(同じファイルが)リモートに存在している」という意味に類推できる。そうなると、下記行動ログのコピペでいうgit commit -m "resize font"にて1 file changed, 1 insertion(+), 1 deletion(-)で変更履歴が出ているので、リモートに存在しているファイルは新しいファイルのはず。新しいファイルであれば、「すでに(同じファイルが)リモートに存在している」という意味合いを持つfatal: remote origin already exists.というエラーメッセージはどういう意図で吐かれているのか?

・拙いプログラミング経験の中で(1年未満)、1回目のgithubへのプッシュと2回目のgithubへのプッシュでなんとなく行動が違うように思えます(1回目と同じやり方で2回目プッシュしようとするとうまくいかない)。2回目以降うまくいくケースといかないケースがあるが、これは一体どういうことなのか?GitHub側で変更が反映されないのはなぜなのか?

この2点についてお答えいただければと思います。

以下行動ログのコピペです。

##コピペ

git

1ec2-user:~/environment/railsweb (official_sites) $ git add . 2ec2-user:~/environment/railsweb (official_sites) $ git status 3On branch official_sites 4Changes to be committed: 5 (use "git reset HEAD <file>..." to unstage) 6 7 modified: app/views/tops/portfolio.html.erb 8 9ec2-user:~/environment/railsweb (official_sites) $ git commit -m "resize font" 10[official_sites 704a] resize font 11 Committer: EC2 Default User <ec2> 12Your name and email address were configured automatically based 13on your username and hostname. Please check that they are accurate. 14You can suppress this message by setting them explicitly: 15 16 git config --global user.name "Your Name" 17 git config --global user.email you@example.com 18 19After doing this, you may fix the identity used for this commit with: 20 21 git commit --amend --reset-author 22 23 1 file changed, 1 insertion(+), 1 deletion(-) 24ec2-user:~/environment/railsweb (official_sites) $ git remote add origin http://github.com/zizynonno/railsweb.git 25fatal: remote origin already exists. 26ec2-user:~/environment/railsweb (official_sites) $

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

git remote addコマンドは最初の一回だけ行えばいいものです。
このコマンドはリモートリポジトリを登録するコマンドです。

fatal: remote origin already exists.というエラーメッセージは「originという名前のリモートリポジトリは既に登録済みだよ」という意味です。

そのためcommitしたあとはそのままgit push origin masterして大丈夫です。

投稿2018/08/03 07:20

u39ueda

総合スコア950

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

zyno

2018/08/03 07:24

ありがとうございます!1回だけ行えばいいものなのですね!知らなかったです! あと、1点ご質問なのですが、 git push origin masterやgit push -u origin masterを行ってもgithubの方に変更が反映されないのですが、これはgithub側のバグなのでしょうか?
u39ueda

2018/08/03 07:30

世界的に使われているgithubにそんなバグがあったら大混乱です… 状況がわからないのでアレですが、おそらくコミットが思ったようにできていないのだと思います。 git log master とか git show <shaハッシュ> とかを実行してみてどんな状況になっているのか確認してみてはどうでしょうか。
zyno

2018/08/03 07:52 編集

git logで確認を取ったところ、 ec2-user:~/environment/railsweb (official_sites) $ git log commit 704c84ad16a2b3e6a2c790264aaa (HEAD -> official_sites) Author: EC2 Default User <ec2> Date: Fri Aug 3 06:43:27 2018 +0000 resize font commit b459e02086b2cefc8975b6 Author: EC2 Default User <ec2> Date: Fri Aug 3 06:35:06 2018 +0000 add on 4pages commit 704c84ad10f92c79022864aa (HEAD -> official_sites) Author: EC2 Default User <ec2> Date: Fri Aug 3 06:43:27 2018 +0000 resize font commit b459e02087f1c6014fc8975b6 Author: EC2 Default User <ec2> Date: Fri Aug 3 06:35:06 2018 +0000 add on 4pages commit 704c84ad16ae6a2c79022864aaa (HEAD -> official_sites) Author: EC2 Default User <ec2> Date: Fri Aug 3 06:43:27 2018 +0000 resize font commit b459e02087f1c3014fc8975b6 Author: EC2 Default User <ec2> Date: Fri Aug 3 06:35:06 2018 +0000 add on 4pages commit aec24650d0e0d11397 Author: EC2 Default User <ec2> Date: Fri Aug 3 06:30:19 2018 +0000 add in 4pages commit 812c248d593b66ef7b094a86710af3bf9bfed83c (origin/master, master) Author: EC2 Default User <ec2> Date: Thu Aug 2 08:33:15 2018 +0000 first commit といったログを吐かれました。コミットメッセージ「first commit」(ログの一番下) の場所に(origin/master, master)とあるので、git側はこれをプッシュしようとしているのかな?と類推しています。しかし、古いファイルではなく変更した新しいファイルをどうプッシュすればいいのかがわからないので、そこについてもお伺いできればと思います!
u39ueda

2018/08/03 07:57 編集

(あんまりコメントで長々やるのはよくないんだけどと思いつつ) 今の状態は ・official_sitesブランチに切り替わっている ・masterブランチは(ローカル/リモート共に)1回目にプッシュした状態から何も変わっていない ・1回目のpush以降の変更は全てofficial_sitesに含まれている という状況みたいですね。 変わっていないmasterブランチをpushしたんだからリモートに何も変化がないのは当然な話です。 どうすればいいかはどうしたいかによるんですが… ・official_sitesブランチをpushしてgithubでプルリクエストを出してマージする ・ローカルでmasterブランチにofficial_sitesブランチをマージしてmasterブランチをpushする のどちらかが一般的な流れでしょうか
u39ueda

2018/08/03 07:52

てかこのログ、コピペミスってませんか?同じコミットがいくつもあるんですが。
zyno

2018/08/03 07:59

回答ありがとうございます! あ~、official_sitesでブランチを切ったのでmasterブランチでプッシュしようとすると確かにfirst commitのままになりますね。。。受けた回答も踏まえてもう一度やってみたいと思います!ありがとうございます! >IP~ 私のリテラシーのなさが如実に再現されていますね。ありがとうございます!訂正しました! >コピペ~ 仰る通りです。ご迷惑をおかけしました...
u39ueda

2018/08/03 08:10 編集

頑張ってください。 わからないことがあればまた質問を作成すれば気がつけば回答します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問