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

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

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

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

GitHub

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

Q&A

解決済

1回答

2710閲覧

gitでのプロジェクトのアップロードの際のエラーについて

rionosuke13_std

総合スコア3

Git

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

GitHub

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

1グッド

0クリップ

投稿2021/08/12 15:55

編集2021/08/13 05:23

前提・実現したいこと

初めてgithubを利用して作成したホームページをアップロードしようとしているのですが、
macのターミナルを使ってのアップロードがうまくいきません。

解説サイトを見ながら以下の手順で試みました。
0. githubでリポジトリ作成(仮に"test"というリポジトリ名とします)
0. ターミナルで[cd ~~/Desktop/test]を入力
0. [git init]を入力してローカルリポジトリが作成
0. [git add .]を入力してステージングさせる
0. [git commit -m “Create test”]で保存
このcommitの段階で[error: pathspec 'test”' did not match any file(s) known to git]というエラーが表示されます。

※実は最初に試した時はうまくアップロードできたのですが、mainではなくmasterにpushしてしまったため最初からやり直そうと思い、github上でリポジトリを削除しました。これが良くなかったのではないかと思っています。
リポジトリを削除後にもう一度1からやってみようと削除したリポジトリ名と同じ名前でリポジトリを作成後、ターミナルで操作していたところ上述したようなエラーが表示されました。

発生している問題・エラーメッセージ

error: pathspec 'test”' did not match any file(s) known to git

該当のソースコード

$cd /Users/rio/Desktop/test $git init $Initialized empty Git repository in /Users/rio/Desktop/test/.git/ $git add . $git commit -m "Create test" error: pathspec 'test”' did not match any file(s) known to git

試したこと

やり直してみて上記のエラーが出たため、以下のサイトなどを見て[git fetch]や[git checkout]、[git branch]で確認してみたのですが、該当のプロジェクトフォルダが表示されませんでした。
確認したサイト1
確認したサイト2

補足情報(投稿当初)

確認しているうちにエラーの表示が変わりました、、、。

$ git commit -m "Create test" On branch master nothing to commit, working tree clean

初心者で調べ方等ももしかしたら間違ってしまっており、お手数おかけして大変申し訳ないのですが、
解決策をご教授いただけますと幸いです。

よろしくお願いいたします。

補足情報(2021/08/13 14:00)

push先をmainではなく、masterにしてみたところ問題なくpushすることができました。

$ git push origin master Enumerating objects: 60, done. Counting objects: 100% (60/60), done. Delta compression using up to 8 threads Compressing objects: 100% (60/60), done. Writing objects: 100% (60/60), 4.04 MiB | 2.94 MiB/s, done. Total 60 (delta 17), reused 0 (delta 0), pack-reused 0 remote: Resolving deltas: 100% (17/17), done. remote: remote: Create a pull request for 'master' on GitHub by visiting: remote: https://github.com/ユーザー名/test/pull/new/master remote: To https://github.com/ユーザー名/test.git * [new branch] master -> master

githubではデフォルトブランチがmainとなっているので、masterではなくmainの方にデータをpushしたいのですが、
どのように設定を変更したらよろしいでしょうか?
こちらを参考としてやってみようかと思っているのですが、問題ないでしょうか?

shinami👍を押しています

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

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

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

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

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

ishina_yum

2021/08/12 16:42

コミットするファイルが無い、というだけのことだと思いますけれど。 testの中身ってありますか?
rionosuke13_std

2021/08/13 02:04

ご質問いただきありがとうございます! git上でどのように判定されているのかはわからないのですが、 アップロードしたいと考えているtestというプロジェクトフォルダの中身はあります。 中身はhtml、css、js、画像などがあります。
guest

回答1

0

ベストアンサー

多分commitできていると思います。
(新たにCommitするものはないよって言ってます)
git logでcommitができているか確認してみてください。

投稿2021/08/12 15:59

kyokio

総合スコア560

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

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

rionosuke13_std

2021/08/13 05:31 編集

ご回答いただきありがとうございます! 'git log'で確認してみたところ、以下のような結果が出ました。 ``` $ git log commit 3cdadc023fffd5○○○....(HEAD -> master, origin/master) Author: ○○○ <◯◯@◯◯-MBP15.local> Date: Thu Aug 12 23:09:10 2021 +0900 Create test ``` といった形で出てきたのですが、、、これがcommitできているということになるのでしょうか? ただ、githubで確認したところ、指定しているtestというプロジェクトファイルの中身が全く反映されておりませんでした、、、。
shinami

2021/08/13 02:53 編集

pushしないとgithub側で反映されないと思います。 また、最初から行おうと思うなら、github側のリポジトリを削除し、ローカルのtestフォルダ内の.gitフォルダごと削除したらクリーンな状態で行えると思います。 /Users/rio/Desktop/test/.git/ .gitフォルダは隠しフォルダとなっていますので隠しフォルダを表示できるようにして見ましょう。
kyokio

2021/08/14 07:28 編集

Commitした人と日常とcommitした時につけたコメント(Create test)が表示されています。 今は一つしか表示されていません。 試しにファイルの中身を変更して、 git add . git commit -m "Second commit" としてからもう一度git logで確認してみてください git remote add [オプション] 名前 URL git push githubで確認したい場合は、リモートレポジトリを設定してpushすればgithubでみます
rionosuke13_std

2021/08/13 04:51 編集

@shinami さん ありがとうございます! pushも [ $ git push origin main ] で試してみたのですが、 以下のようなエラーが出る結果となりました。 --- error: src refspec main does not match any error: failed to push some refs to 'https://github.com/ユーザー名/test.git' --- .gitフォルダを表示して削除してから今一度試してみようと思います。
rionosuke13_std

2021/08/13 05:03

@kyokio shinamiさんからのご提案を試みる前に、kyokioさんから頂いたアドバイスをもとに"Second commit"で記録しgit logで確認してみましたところ、ちゃんと"Second commit"が記録はされておりました。 ▷"Second commit"を記録後、そのまま[ git remote add ]と[git push]を行った際の表示 --- Committer: ◯◯ <rio@Rios-MBP15.local> Your name and email address were configured automatically based on your username and hostname. Please check that they are accurate. You can suppress this message by setting them explicitly. Run the following command and follow the instructions in your editor to edit your configuration file: git config --global --edit After doing this, you may fix the identity used for this commit with: git commit --amend --reset-author 1 file changed, 0 insertions(+), 0 deletions(-) Rios-MBP15:test rio$ git remote add origin https://github.com/ユーザー名/test.git error: remote origin already exists. Rios-MBP15:test rio$ git push origin main error: src refspec main does not match any error: failed to push some refs to 'https://github.com/ユーザー名/test.git' --- ▷"Second commit"を記録後、[ git log ]を確認した際の表示 --- commit a13117a90addcb○○○.... (HEAD -> master) Author: Ryosuke Kimura <rio@Rios-MBP15.local> Date: Fri Aug 13 13:51:56 2021 +0900 Second commit commit 3cdadc023fffd592○○○.... (origin/master) Author: Ryosuke Kimura <rio@Rios-MBP15.local> Date: Thu Aug 12 23:09:10 2021 +0900 Create test ---
rionosuke13_std

2021/08/13 05:16 編集

たびたび申し訳ございません。 補足状況に追記しましたが、push先をmainではなくmasterにして試したところ、問題なくデータがpushされたようです。 githubではデフォルトのブランチがmainに設定されているようなのでmainにpushしたいのですが、どのような方法でブランチを変えることができるのかご存知でしたらご教授いただけますと幸いです。 この方法でできるのかなと考えているのですが、 いかがでしょうか? https://qiita.com/masakinihirota/items/1a657674e609be112fc6
shinami

2021/08/13 08:02

git checkout mainだと思います。 git branch -m master mainは、ブランチ名をmasterからmainへの変更です。 git branch --containsで現在のブランチ名を取得することも出来ます。 これを参考に、mainブランチでgit push origin mainを実行して見ましょう。 mainブランチでgit remote add origin 〜以下省略 を実行しないといけないかもしれません。 github(リモートリポジトリ)への転送先の設定が出来ているかどうかを確認するには、 git remote -v で確認できます。無い場合あるいは違う場合は作成してください。
rionosuke13_std

2021/08/14 14:27 編集

@shinami さん お返事が遅くなってしまい申し訳ございません。 ① アドバイスいただいた通り、[ git checkout main ]にてbranchをmainに変更しました。 ``` Branch 'main' set up to track remote branch 'main' from 'origin'. Switched to a new branch 'main' ``` [ git branch --contains ]で確認したところ問題なくbranchがmainに変更されていることを確認することができました。 ② 次に[ git remote add origin 〜以下省略 ]、[ git push origin main ]をしたところ以下のエラーが出ました。 ``` remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information. fatal: unable to access 'https://github.com/ユーザー名/test.git/': The requested URL returned error: 403 ``` ③ ちょうど昨日(8/13)からリポジトリにアクセスするのに、個人アクセストークンを取得することが必須となったようだったのでgithubで個人アクセストークンを取得しました。(トークンに付与するスコープではrepoを選択しております。) https://docs.github.com/ja/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token ④ もう一度[ git remote add origin 〜以下省略 ]を試したところ、 ``` error: remote origin already exists. ``` とエラーが表示されたので、ここは準備できていると考え、そのまま[ git push origin main ]を行いました。すると、 ``` Everything up-to-date ``` となり、うまくデータをアップロードできておりませんでした。 ⑤ 以下のサイトを見て、コミット忘れが原因である可能性があるとのことで[ git fetch --all ]と[ git branch -avv ]を試みました。 https://www.zunouissiki.com/entry/cannot-git-push-everything-up-to-date/ ▷git fetch --all ``` $ git fetch --all Fetching origin Fetching origin/main error: cannot lock ref 'refs/remotes/origin/main/main': 'refs/remotes/origin/main' exists; cannot create 'refs/remotes/origin/main/main' From https://github.com/ユーザー名/test ! [new branch] main -> origin/main/main (unable to update local ref) error: cannot lock ref 'refs/remotes/origin/main/master': 'refs/remotes/origin/main' exists; cannot create 'refs/remotes/origin/main/master' ! [new branch] master -> origin/main/master (unable to update local ref) error: some local refs could not be updated; try running 'git remote prune origin/main' to remove any old, conflicting branches error: Could not fetch origin/main ``` ▷git branch -avv ``` $ git branch -avv * main ◯◯◯◯◯◯◯ [origin/main] Add files via upload master □□□□□□□ Second commit remotes/origin/main ◯◯◯◯◯◯◯ Add files via upload remotes/origin/master □□□□□□□ Second commit ``` fecthの方ではupdateできませんというようなエラーが出ている?ようでした。(urlがorigin/main/mainとなってmainが重複してしまっているのは何故なのでしょう、、、。ここが問題ではないかと思っております。) また、[ git branch -avv ]での確認では、ローカルブランチ(main)とリモートブランチ(remotes/origin/main)のコミット IDが同じ(◯◯◯◯◯◯◯で表現した部分)ようなので、参考にさせていただいたサイトの通りであればコミット忘れのようなのですが、、、。 ⑥ その後以下の作業をしても ``` $ git commit -m "test" On branch main Your branch is up to date with 'origin/main'. nothing to commit, working tree clean $ git remote add origin https://github.com/ユーザー名/test.git error: remote origin already exists. $ git push origin main Everything up-to-date ``` と表示され、相変わらずmainブランチにデータをpushできておりません、、、。 長文となってしまい、また文章がひょっとするとわかりにくくなってしまっているかもしれないことに関して大変申し訳ございません。 この流れを見てどこかやり方や考え方が間違っているところなどございましたら教えていただけますでしょうか? お手数おかけして申し訳ございませんが、何卒よろしくお願いいたします。
shinami

2021/08/15 02:54

error: remote origin already exists.(エラー:リモートオリジンはすでに存在します。) これは、8/13日以前にgit remote add origin https:〜.gitでパスワードで登録されているものが存在するのかもしれませんので一度 git remote rm origin で削除し再びgit remote add originで登録して見てください。 ここでパスワードにトークンを入れて見ましょう。 もしここで入力を指示されなかった場合はもう一度.gitフォルダを削除してやり直したほうが良いかもしれません。 ⑤や⑥はそれからの話かもしれません。それか、必要ないかもしれません。
shinami

2021/08/15 07:28

追記 .gitフォルダを削除して最初からやり直す前に以下をやって見てください。 git remote rm originなどでリモート情報を削除し追加し直したただけでは remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. のエラーが出てしまいました。 https://docs.github.com/ja/github/getting-started-with-github/getting-started-with-git/updating-credentials-from-the-macos-keychain の情報を参考に $ git credential-osxkeychain erase host=github.com protocol=https > [Press Return] を実行し(keychain accessアプリで行なっても良い)パスワード情報を削除し再度認証入力できる状態にしないと個人アクセストークンを入力できませんでした。参考に。
rionosuke13_std

2021/08/15 09:03

@shinami さん 追記ともにご回答いただきましてありがとうございます。 アドバイスを元に試してみたのですが結果としてはうまくいかず(追記でいただいた方法を行ってもいただいたエラーは出ませんでしたが、前述と同じくpushできなかったです、、、)、.gitフォルダを削除してやり直しましたがそれでも今度は他のエラーが出てきてしまったりと、逆に複雑になってきてしまったのでbranchをmainにしてデータをpushするというのを今回はひとまず諦めることとしました。 今一度最初からやり直し、githubにてデフォルトを masterに変更、そして質問項目の補足情報(2021/08/13 14:00)と同じく、git push origin masterで問題なくアップロードすることができました。 また、データを修正してaddしてcommitしてpushをした際も問題なくデータが更新されておりました。 たくさんご助力いただいたにも関わらず、push先をmainブランチに切り替えてpushするという方法を実現できずに大変申し訳ございませんでした、、、。 おそらく私自身がまだgitについて理解できていないことが多いため、使いこなすことができず、またアドバイスをうまく汲み取ることができなかったのが問題だと思うので、しっかりgitを学習していこうと思います。 *shinami さんにも高評価を送らせていただきたいのですが、こちら kyokio さんの回答欄のため、高評価をお送りできず申し訳ございません、、、。 ご協力いただきありがとうございました!
shinami

2021/08/15 10:00

そうですか、まぁ、また落ち着いてやってみて下さい。 気が向いたときに自分の勉強のため、知識を得たものをタダで還元してるだけなので高評価もポイントも余り意識はしてないので良いですよ。 私の方こそ勉強をさせてもらいありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問