- 投稿日:2020-08-04T22:29:06+09:00
git@github.com: Permission denied (publickey) が出た時の解消法
新しいリポジトリを作成し、git pushしようとしたら以下のエラーが出てきて、pushがうまくいかなかった。
git@github.com: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.前にも見たことがあったけど、どうやって対処しようかググってたが、結構対処法が散らばっていたので、備忘録としてまとめておく。
よく見かけたのは
http://tusukuru.hatenablog.com/entry/2018/08/29/021651
のような感じで、ssh-keygenを行ってid_rsaを作成するものだが、今回は他のアカウントも持っていたので、別名で公開鍵・秘密鍵を作成したかった。1. .ssh/configの修正
vim ~/.ssh/config
# 元々あったやつ Host github.com HostName github.com IdentityFile ~/.ssh/id_rsa User git # 今追記したやつ host github-hogehoge hostname github.com IdentityFile ~/.ssh/id_rsa_github_private User hogehogeここにも書いてありますが、この
hogehoge
がgithubのアカウント名となります。
id_rsa_github_private
は作成する秘密鍵のファイル名となります.名前はなんでも大丈夫です。2. 鍵の作成
ssh-keygen -t rsa -C hoge@example.com -f id_rsa_github_private
hoge@example.com
にはgithubで使用しているメールアドレスを入力します。パスワードを入れるかenterを押すなりして進めます。
id_rsa_github_private
がカレントディレクトリにあると思うので、~/.ssh/の方に移動しておきます。mv id_rsa_github_private* ~/.ssh/これで~/.ssh/配下に必要なものが揃いました。
% ls ~/.ssh/ config id_rsa.pub id_rsa_github_private.pub id_rsa id_rsa_github_private known_hosts3. githubの方に公開鍵を設定
https://github.com/settings/profile
のSSH keys に new ssh keyから新しい鍵を登録します。
keyの中に~/.ssh/id_rsa_github_private.pub
の内容をコピペします。以下のコマンドを実行すると接続確認が取れます。
% ssh -T git@github-hogehoge Hi hogehoge! You've successfully authenticated, but GitHub does not provide shell access.4. git pushをする
今回はgit pushをしようとしたときにエラーが出ていました。cloneの場合はここ を参考にすると良いかと思います。
pushする際にremote addをする必要がありますが、そのときに
git remote set-url origin git://git@github.com:hogehoge/repository.git
となっていますが、これではなく、git remote set-url origin git://git@github-hogehoge:hogehoge/repository.gitとなります。(repositoryのところは作成したリポジトリ名となります)
これで、
git push origin master
をするとうまくpushされました
- 投稿日:2020-08-04T15:22:31+09:00
【SVN,Git】TortoiseGitを用いてコミット履歴込みでSVNリポジトリをGitへ移行する。
メモとして残します。
わりと手間取ったのでメモ
Git to Git は記事にまとめましたが、SVN to Gitへのリポジトリ移行について今回はまとめます。
■やり方
0.[重要]Windows32bit版のGitをインストール
64bitバージョンだと既知の不具合か何かで、
git svn clone
コマンドが
こけるらしいので、Git32bitをインストール。1.任意のフォルダで右クリメニューGitクローン(複製)...をクリック
2.SVNのURLをセット
URL・・・SVNのURLを入力
ディレクトリ・・・ダウンロード先フォルダを入力
SVNリポジトリからにチェック
注意)トランク、タグ、ブランチがある場合は、URLもこれらがある階層を含むアドレスにして、チェックを入れる。
3.SVNからダウンロード&Git用に自動変換
注意)リビジョンが多いほど時間がかかりますのでじっくり待つ。
4.Originのリモートをセット
git remote add origin https://hogehoge.com/hoge.git5.ローカルの情報をリモートにpush
git push -u origin master
以上
- 投稿日:2020-08-04T14:36:31+09:00
既存ファイルをGitHubにアップロードする方法
既存ファイルをGitHubに追加する
Gitで既存のファイルをアップロードする方法について手順をご紹介したいと思います。
1. GitBashを立ち上げ、GitHubにアップしたいファイルにcdコマンドで移動する
※ちなみに、cdはcreate directoryの略2. git add . コマンドを打つ
cdコマンドで希望ディレクトリまで移動できたら、ステージに内容を追加するために、以下のコマンドを打ってください。GitBush$ git add .3. git commit コマンドを打つ
git add . コマンドでステージに追加できたら、git commit でリポジトリに内容を追加します。GitBush$ git commit4. remote repository を作成する
GitHubを開き、New Repositoryを開きます。
その後、repository nameに任意の名前を入れて、Create repositoryでrepositoryを作成します。以上の作業が完了したら、次に、以下のコマンドを打ちます。
GitBush$ git remote add origin https://github.com/Gitのアカウント名/作成したリポジトリ名.git $ git push -u origin master以上で、ファイルをGitHub上にアップできたと思います。
Git操作に不安がある方は、私も受講したUdemyの講座を受講するとよいかと思います!
https://www.udemy.com/share/1021OECUYecFdTR3w=/
考えられるエラーについて
リモートリポジトリを作成した直後に、上記コマンドを実行せずに、以下のコマンドを実行すると、以下のエラーが発生するので、ご注意ください。
失敗例error: src refspec master does not match any.解決方法$ git add . $ git commit加えて、もしかすると、git add . コマンドを打った時に、
エラーwarning: CRLF will be replaced by LF in .vscode/settings.json. The file will have its original line endings in your working directoryこのようなエラーが出るかもしれません。
この時は、以下のコマンドを試してみましょう。解決方法$ git config --global core.autoCRLF falseちなみに、「https://qiita.com/yukari-n/items/e6107fe52772ef6a2df4」
を参考にさせていただきました。
※作成者様、ありがとうございます。
- 投稿日:2020-08-04T10:49:58+09:00
Windows で git bash + tmux な環境づくり
git bash を手に入れましょう
tmuxをインストールできるようにしましょう
下記のページにあるとおりに、まず
pacman
をインストールします。
その後、tmux
をインストールします。git clone --depth=1 https://github.com/git-for-windows/git-sdk-64 gfw-sdk cp gfw-sdk/usr/bin/pacman* /usr/bin/ cp -a gfw-sdk/etc/pacman.* /etc/ mkdir -p /var/lib/ cp -a gfw-sdk/var/lib/pacman /var/lib/ cp -a gfw-sdk/usr/share/makepkg/util* /usr/share/makepkg/ pacman --database --check curl -L https://raw.githubusercontent.com/git-for-windows/build-extra/master/git-for-windows-keyring/git-for-windows.gpg \ | pacman-key --add - \ && pacman-key --lsign-key 1A9F3986 pacman -S tmux以上です。
- 投稿日:2020-08-04T03:00:40+09:00
【Git】fatal: Not a valid object name: 'master'.
Sourcetree使ってbranchしようとした際に出てきたエラー。
Sourcetreeでの操作がメインです。内容は簡単に言うと「'master'という名前のオブジェクトがないよ」って意味でした。
ファイルを作成している時点でターミナル操作でいうところの"init"はできているから問題なし。
commitが出来ていないからっていうのが原因なので
VScodeなりのエディターで作成したファイルを開いて
sample.txtなりのファイルを作って
文字列を与えてあげれば(←作成だけでなく変更が必要のため)okそのあと履歴のところに表示されてきているので
コミットしてあげればbranchできるようになります。何かしらのファイルを作る前に分岐なんかできないよってこと。