- 投稿日:2020-07-31T21:27:30+09:00
【Git】PortableGit→GitBucket(Gitlab等)にpushする際に「Authentication failed」が表示された場合の対応
はじめに
職場のPC(Windows10)のPortableGit→GitBucketにpushしようとしたところ、「Authentication failed」が表示されpushできませんでした。
こちらの原因と解決方法についてアウトプットしていきたいと思います。環境
項目 内容 PC Windows10 ローカルリポジトリ PortableGit リモートリポジトリ GitBucket 状況
- PortableGit→GitBucketにコードをpushしようとしたところ、認証エラーが表示されpushできず。
fatal: Authentication failed for 'http://192.168.0.150:8080/git/satton-test/test-code.git'※そもそもユーザー名とパスワードが聞かれない。
GitBucket→PortableGitへはコードのpull/clone可能
初期設定に間違いがないことは確認済み
git config --global user.name "satton-test" git config --global user.email "<email address>"原因
資格情報マネージャーの資格情報のユーザー名/パスワードに誤りがあった。
(コントロールパネル→ユーザーアカウント→資格情報マネージャー)対策
正しいユーザー名とパスワードに修正する。
所感
インターネット上を探しても、ほぼ情報が落ちていなかったために苦労しました。。。
参考リンク
- 投稿日:2020-07-31T09:44:05+09:00
GitとGitHubの関係性について
はじめに
Gitとは
ソースコードのバージョンを管理するツール
GitHubとは
Gitを利用した、開発者を支援するWebサービスGitとGitHubですが、関連性は強ものの別物であり、Gitを利用しているからと言ってGitHubを使用しなければならないというわけではありません。
後述しますが、GitのホスティングサービスはGitHub以外にも存在しております。Git誕生の歴史と利便性
そもそもGitはどのようにして誕生したのか。
その経緯から、Gitの利便性を確認していきましょう。Gitの生みの親はLinuxOSを作ったリーナス・トーバルズ氏です。
氏は、当初Linuxカーネル開発で「BitKeeper」というバージョン管理システムを用いておりました。
ライセンスの問題により「BitKeeper」使用することができなくなったため、代替するサービスを探したもののフリーのバージョン管理システムでは、氏の掲げる高度な要求水準を満たせるものはありませんでした。
そのためトーバルズ氏自ら開発に着手し、そこで誕生したものが「Git」になります。
ではこれまでのバージョン管理ツールと比べてGitは何に優れているのでしょうか。Gitが優れている点、それは分散型のリポジトリであることにあります。
従来リポジトリは全体で1つでしたが、Gitは「ローカル」と「リモート」の2つを持っています。
この分散型のメリットは、システム開発を複数で行った場合に、開発者それぞれがソースコードを書いていきリポジトリに追加していくことになるため、開発者が増えればその分だけリポジトリに不整合が生じる可能性が高まります。そういったリポジトリの不整合を防ぐために、各開発者が自身のマシンでローカルリポジトリに変更を記録していき、全体の状況を見てリモートリポジトリに変更を記録していくことで利便性が高まりました。
分散型という今までにない形でバージョン管理を行うことで、従来の管理ツールに対して感じていた懸念は払拭され、現在に至るまで開発に用いられるようになりました。
GitHubとは
Gitという言葉がついているので、専用サービスのような印象を受けますが、こういったGitのホスティングサービスとしては他にもあり、GitHubを必ず利用しなければならないというわけではありません。
GitHubは、クラウド上でGitを用いたバージョン管理をすることができ、Gitを更に使いやすくする機能が備わっております。
その中でも「フォーク」「プルリクエスト」「マージ」の3つの機能があることで、利便性が向上し、多くのユーザーから支持を得ています。
- フォーク:誰かのリポジトリを取得(コピー)して改変することができる。
- プルリクエスト:自身が行ったソースコードの変更点について他のメンバーにレビュー依頼ができる機能
- マージ:人のコードを自分のコードに導入すること。
「フォーク」してコードの改修を行い、オーナーへ「プルリクエスト」を行う。
「プルリクエスト」を受けたオーナーはそのコードを「マージ」する。
また、GitHubはソーシャルコーディングの場とも呼ばれており、他の人のソースコードを見ることができます。
これによって、開発への参加やフィードバックなどオープンソースでの開発がしやすくなったのもGitHubのメリットになります。GitHub以外に使用されている代表的なGitのホスティングサービス
各種選ばれる違いとしては、ホスティングがWebサービス型とインストール型で違うことや、対応するVCSの違い、無料のプライベートリポジトリ、料金形態と様々です。
まとめ
Gitとは分散型にする事で、開発効率をあげる目的を持ったバージョン管理ツールであり、
GitHubはそれをオープンソースとしてチーム開発の利便性向上や、技術者のコミュニティ形成に役立っているサービスである。参照記事
ITmedia エンタープライズ
https://www.itmedia.co.jp/enterprise/articles/0504/20/news075.html
FERROWS
https://job.fellow-s.co.jp/useful_info/feature_detail/Art-0488
Linix.com
https://www.linux.com/
- 投稿日:2020-07-31T00:00:19+09:00
GitHubにコミットしても草が生えない時の対処法
先日いつも使っているMacBookを修理に出したため、違うデスクトップのiMacでプログラミング学習をしていました。
その際、いつも通りGitHubにコミットしてみると、なぜか草が生えない…
よく考えるとPCを変えたので、ローカルリポジトリのメールアドレスとGitHubのアカウントの紐づけをしていない! ということに気付きました。
ということで、この際なのでQiitaに紐づけの方法を書くことにしました。紐づいているか確認する
まず、ローカルリポジトリのメールアドレスとGitHubアカウントが紐づいてるか確認します。
コミットしたディレクトリに移動し、以下のコマンドを実行します。$ git config user.email実行後、ご自身がGitHubに登録しているメールアドレスが表示されない場合は紐付けができていません。
紐づける
どこのディレクトリでも良いので以下の2つのコマンドを実行してください
$ git config --global user.name "GitHubに登録しているユーザー名"ダブルクォーテーションありです。
$ git config --global user.email GitHubに登録しているメールアドレスダブルクォーテーションなしです。
これで、紐づけ完了です。
コミットしたディレクトリに移動し、もう一度以下のコマンドを実行すると、GitHubに登録しているメールアドレスが表示されるはずです。$ git config user.email あなたのメールアドレスが表示されるこれでGitHubにコミットすれば草が生えます。
また、新しく作成したディレクトリなどにも、この紐づけは適用されるので、次回以降はこの作業はいりません。
参考記事