初書:2021/03/29
前書き
gitを使ってgithubと連携する機会がついに来てしまったので、最低限使うに当たってやったことをメモ。
- 前提
・gitの大体の動き(ステージとかコミットとか…)は理解してる
連携
githubとssh接続するためのもの。
注意:これがないと接続出来ないのだが、この記事を書くまでに端末を再起動し、ターミナルのログが消えていたので、
他のサイトを見ながら% history 1
で確認しているので、ここは他のサイトを見た方がいいかもしれない。
まずは/Users/xxxxxxx/
に移動し、.ssh
ディレクトリが存在するか確認する
存在していない場合は、% mkdir .ssh/
で作成し、% cd .ssh/
で入る。
その後、sshのキーを作成する
(※既に.sshディレクトリが存在する場合は以下は飛ばす。また他のキーを使用したい場合は他のサイトを参考にすること)
% ssh-keygen
これで、id_rsa
とid_rsa.pub
ファイルが作成されるので、id_rsa.pub
ファイルの中身をコピー
次にgithubへログインし、設定画面へ
SSH and GPG keys
という画面へいき、右上のNew SSH Key
をクリック
Title
は自分がわかりやすい内容に
Key
には先ほどコピーしたものをペーストし、Add SHH Key
再びターミナルに戻り、% ssh -T git@github.com
を実行。
% ssh -T git@github.com
Hi xxxxxxx! You've successfully authenticated, but GitHub does not provide shell access.
このように表示されれば完了。
注意箇所ここまで
既にあるgithubのリポジドリをcloneする
cloneしたいリポジドリのページへ行き、右上のコード
からclone
のssh
を選択
git@github.com:
から始まる文字列をコピー
ターミナルに戻り、以下を実行
% git clone コピーした文字列
これで、リポジドリのcloneをローカルにDLすることができた。
自身の情報を設定する
複数人で作業する場合は誰がどのコミットをしたかをメモする必要がある。
まあ1人でもgitを使う場合はメモしないといけないが。
なのでその登録をする
% git config --local core.editor "code -w"
% git config --local user.name "NAME"
% git config --local user.email "email"
--local
はそのディレクトリのgitにのみ影響する設定
端末の設定を変える場合は--local
を--global
に変更する
1行ずつ説明
1つ目はメインエディタの設定。codeはvscode。
ちなみに-wは付けないと後々面倒な事になるのであらかじめ指定しておく。
git - Aborting commit due to empty commit message - Stack Overflow
2つ目は名前。"NAME"
は自身の名前に変更する
3つ目はメールアドレス。"email"
は自身のメールアドレスに変更する
変更をcommitする
commitする前に、まずはリポジドリの中身を更新する必要がある。
% git pull origin main
ちなみにpullって何?というのはこの辺を参考にした。
【初心者向け】git fetch、git merge、git pullの違いについて - Qiita
次にステージング(git add
)を行う。
% git add -A
後ろの-A
はオプションで、全ての変更・追加・削除をステージングする。
一部だけを指定する場合は、-A
のところをファイル名にすればいい。
git add -u と git add -A と git add . の違い | note.nkmk.me
ステージングが終われば次はコミットする。
% git commit
このあとconfig core.editor
で指定したエディタでCOMMIT_EDITMSG
が開くので、コミットメッセージを記述。
一々開くのが面倒な場合は、-m "message"
をオプションでつけると、message部分がコミットメッセージとして記述される。
最後に今回はgithubで共有しているので、github側にコミットを送信する。
% git push origin main
終わりに
VSCode使ってると拡張機能使った方が直感的でわかりやすい気がしなくもないが、
マウスカーソルを触らなくても扱える点では覚えておいて損しないかもしれない。。。。