windowsで(ssh+gitコマンド)でgithubと連携
windowsでgithubでソースコードを管理したかったので調べて実行 今までgithubは使ったことあったけどsourchtreeを使いSSHを使用してなかったので今回は
・ssh接続でやる
・gitコマンドを使用してコミット、プッシュ を目的にやった
大まかな流れとしては
- gitインストール
- ユーザ、アドレス登録
- SSH設定
- レポジトリ作成(クローンorローカル)
- gitコマンドでコミット、プッシュ
まずgitインストール
windowsは公式ページよりDLしてインストール
git-bashっていうcmdみたいなものが入るので、それでバージョンを確認
git --version git version 2.18.0.windows.1
OKそう
次にユーザー名とメルアド登録
git-bashで以下のコマンドを入れ、認証IDを設定
git config --global user.name 'ユーザー名' git config --global user.email 'メールアドレス'
確認は以下のコマンで
git config --global -l
SSHの設定
要は鍵を作成
秘密鍵、公開鍵を作り、githubに公開鍵を渡す
この作業はこのサイトがわかりやすかった
GitHubの登録手順。SSH設定&リポジトリをclone, pushまで解説 | vdeep
SSHの公開鍵を作成しGithubに登録する手順 - mon_sat at Co-Edo(半年前の自分への教科書 / 別院)
まずはgit-bashで以下を入力し、鍵作成
ssh-keygen -t rsa -C '登録者したメールアドレス'
id_rsaを保存する場所
パスワード2回
を聞かれるけどめんどくさいので全部そのままエンターx3
githubに公開鍵を渡す(=サイトに暗号文をコピペ)
公開鍵の中身をクリップボードへコピー
clip < ~/.ssh/id_rsa.pub
コピペした内容をgithubの公開鍵のところへ登録
git-bash側で接続テスト(なんか聞かれたらyesを押す
ssh -T git@github.com
結果
The authenticity of host 'github.com (192.30.255.113)' can't be established. RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'github.com,192.30.255.113' (RSA) to the list of known hosts. Hi cookie777! You've successfully authenticated, but GitHub does not provide shell access.
OKそう!
次にgithubでレポジトリを登録
レポジトリ新規作成は2通りある
- githubでリモートレポジトリ作成→ローカルへクローン作成
- ローカルでレポジトリ作成→pushしてリモートへ反映
このサイトに2通りの方法が書いてくれてるので参考にした 【メモ】GitHubでgit clone〜git pushまで
今回は前者で実行
githubで新規レポジトリ作成し、urlをゲット
今回はsshを可能にしたので git@github.com:cookie777/predict-gacha.git
git clone git@github.com:cookie777/predict-gacha.git
該当フォルダにgitが作られる
そこに追加したいファイル追加
(今回はmain.py)
git add main.py
そしてコミット
(コメントが''だとerror: pathspec 'commit'' did not match any file(s) known to git.と表示されエラー)
$ git commit -m "first commit" [master (root-commit) 82dbfe3] first commit 1 file changed, 26 insertions(+) create mode 100644 main.py
そしてプッシュ
$ git push origin master Enumerating objects: 3, done. Counting objects: 100% (3/3), done. Delta compression using up to 4 threads. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 605 bytes | 121.00 KiB/s, done. Total 3 (delta 0), reused 0 (delta 0) To github.com:cookie777/predict-gacha.git * [new branch] master -> master
githubを見ると無事追加されてる やった!
基本的な流れとしてはファイルを修正したら
git add 修正,追加したファイル git commit -m "メッセージ" git push origin master
で行けばおっけーっぽい
gitコマンドに関する補足
今ファイルどんだけ修正されてるっけ(未commitどんだけあるっけ? を知りたい場合は
git diff
(コミットされると解消される)
そもそも今add,commit,pushの何まちか知りたい場合は
git status
で状況がわかる
注意としてはcommitする前にaddする必要がある
addというのは
複数のファイルを修正したとき、どれを反映されるかaddで選定しておく仕様 =コミットの対象にするファイルを指定
めんどくさければ
git commit -a -m "メッセージ"
でまとめてadd commitをしてくれる
まとめ
とりあえず暫定的には
ファイルを修正する度に
git commit -a -m "メッセージ"
定期的に
git push
でリモートレポジトリへ一括して反映すればよさげ