LoginSignup
0
0

More than 3 years have passed since last update.

GitHubのwikiをローカル編集してPushする際に出たエラー

Last updated at Posted at 2021-01-03

要点

  • GitHubレポジトリのwikiクローン→ローカルで編集→Pushする際にエラーが発生しました。
  • 原因は、二段階認証を有効にしている状態で、HTTPSでPushしてることにありました。
  • なので、.git/configのリモートURLをSSHプロトコルに変更すればPushできました。

エラー発生→解決までの経緯

前提条件

  • GitHubで二段階認証を有効にしているため、SSHでPushするのがマストな状態。
  • SSH接続に必要な設定は済ませてある。

※GitHubにSSH接続するための手順は、こちらの記事がわかりやすかったです!

発生したエラー

GitHubレポジトリのwikiをローカルにcloneして編集し、Pushしようとしたところ以下のようなエラーが発生しました。

$ git push origin master
Username for 'https://github.com': USERNAME
Password for 'https://USERNAME@github.com': 
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/USERNAME/REPOSITORY.wiki.git/'

解決方法

二段階認証を有効にしている状態で、HTTPSプロトコルでPushしようとしているため、上記のようなエラーが起こるようです。

# 元の状態
$ git remote -v
origin  https://github.com/USERNAME/REPOSITORY.wiki.git (fetch)
origin  https://github.com/USERNAME/REPOSITORY.wiki.git (push)

なので、ローカルレポジトリのリモートURLをSSHプロトコルに変えてからPushする必要があります。

$ vim .git/config
------------------
[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
        ignorecase = true
        precomposeunicode = true
[remote "origin"]
        # ↓ここをHTTPSからSSHプロトコルに変更
        url = git@github.com:USERNAME/REPOSITORY.wiki.git
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master

リモートURLが変更できていることを確認して、Push。

$ git remote -v
origin  git@github.com:USERNAME/REPOSITORY.wiki.git (fetch)
origin  git@github.com:USERNAME/REPOSITORY.wiki.git (push)

$ git push origin master

無事にPushできました。

(ちなみに自分は、リモートURLを修正する際にgit@github.com::/のままにしていて、一瞬「あれ?Pushできない?」となりました。)

その他気づいた点

なお、この記事を書いている2021年1月現在では、GitHubレポジトリのwikiはHTTPSでしかクローンできないみたいです。
そのため、wikiをローカルで編集する際は、必要に応じてリモートURLをSSHに変えておく必要がありそうです。

参照

解決の際に拝見した記事

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0