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

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

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

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

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

GitHub

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

Q&A

解決済

1回答

1776閲覧

[403]久々にコーディングしたらgit pushできず困ってます

ts21

総合スコア32

Git

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

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

GitHub

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

0グッド

0クリップ

投稿2021/06/22 16:12

やりたこと

OSSのプロジェクトにコミットしようと思い、変更をpushするタイミングにいます。

開発環境

push時のエラー

% git push origin <BRANCH NAME>
上記のとおりプロジェクトのディレクトリでpushしたところ以下のエラーメッセージが表示されまし

remote: Permission to project/examples.git denied to USERNAME. fatal: unable to access 'https://github.com/project/examples.git/': The requested URL returned error: 403

project/examplesがOSSのリモートレポジトリになります。

やったこと①「.git/configの変更」

こちらの記事を参考にしました.
書いてある内容としてはgitの設定をglobalではなく、localに変更するというもの。
つまり、以下の2行に等価と考え実行しました。

% git config --local user.name USERNAME
% git config --local user.email xxxx@gmail.com

この状態で.git/config の中身は次のようになっています。

[core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true ignorecase = true precomposeunicode = true [remote "origin"] url = https://github.com/project/examples.git fetch = +refs/heads/*:refs/remotes/origin/* [branch "master"] remote = origin merge = refs/heads/master [submodule "QR-Code-generator"] active = true url = https://github.com/nayuki/QR-Code-generator [user] name = USERNAME email = xxxx@gmail.com

このようにしっかり書き込まれていることを確認した上で、もう一度pushしましたが結果は変わらず403でした。
また、以下の形も試しましたが結果は同じです。

[remote "origin"] url = https://USERNAME:PASSWORD@github.com/xxxx.git

そもそも、この形に変更してpushできるのは自前のリモートレポジトリだけであり、今回の場合は他人が作ったレポジトリに対してログインすることになるので失敗するのではと考えたのですが、それでも結果が同じ403になるとは。。。

やったこと②「SSHに変更」

ここまではHTTPSでpushしていたのでSSHに変更しました、
GitHubの公式ガイドを見ながらセッティングしました。

→結果は変わらず403

やったこと③「source treeでpush」

結果は403になるとわかっていましたが、試しにやってみました。

git --no-optional-locks -c color.branch=false -c color.diff=false -c color.status=false -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree push -v --tags --set-upstream origin refs/heads/BRANCH NAME>:refs/heads/<BRANCH NAME> Pushing to https://github.com/project/examples.git remote: Invalid username or password. fatal: Authentication failed for 'https://github.com/project/examples.git/'

メッセージの形は違うけど、内容は403と同じようです。
②③については、ローカル、グローバルどちらの設定も試しましたがダメでした

やったこと④「keychain accessをいじる」

つぎはこちらを試しました。
pushしてみるとパスワードを求められたので入力すると以下のようにメッセージが変わりました。

% git push origin BRANCH NAME Password for 'https://github.com': remote: No anonymous write access. fatal: Authentication failed for 'https://github.com/project/examples.git/'

ここ

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

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

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

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

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

hoshi-takanori

2021/06/22 18:46

project/examples.git の project がご自分のアカウントじゃないなら、そのリポジトリへの書き込み権限がないのでは?
guest

回答1

0

ベストアンサー

Forkして自分のリポジトリを作りそこにpushしてからプルリクエスト作ると良いですよ

投稿2021/06/22 22:04

rysh

総合スコア874

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

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

ts21

2021/06/22 23:45

ご指摘の通り、forkするのを忘れていました。 fork後に変更を加え、無事にpushできました。 ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問