クッキーもぐもぐ

PC関係とか映画とかゲームとかの

windowsで(ssh+gitコマンド)でgithubと連携

windowsgithubソースコードを管理したかったので調べて実行 今まで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-bashでクローン作成(SSHが使えるぐへへ

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

でリモートレポジトリへ一括して反映すればよさげ