- 基本的なgitの操作に慣れる
- 実際に文言修正pull requestを投げられるようにする
TODO: 井上くんに「なんすか?めんどくさいっす自分で直してください」って言われなくなるみたいないらすと屋の画像を作る
- ソフトウェア開発のPM
- 駆け出しエンジニア
コマンドラインでやりたい人は terminal
に git
を入れてください。
今一番ポピュラーなテキストエディタは vim
VSCode
なので入れとけばいいと思います。
他のGitクライアント使っても同じことができます。
今回はVSCodeのGitの機能を使おうと思います。
難しく言うと、分散型レポジトリシステム。
簡単に言うと、複数人でできるバージョン管理システム。
最低限これさえあればなんとかなる。
- リモートレポジトリ ... GitHubなどオンライン上に中央集権的にコードや変更履歴を貯めるところ
- ローカルレポジトリ ... 自分のPC上でコードや変更履歴をためているところ
- ブランチ ... 個人の作業やリリースを分割するために独立させたコードの集合。ブランチ同士は(基本的に)関連している。
- チェックアウト ... ブランチの切り替え操作のこと
git clone
... レポジトリをローカルにダウンロードしてくるgit status
... 自分が変更したファイルが見れるgit add
... 自分が変更したファイルをgit commit
...add
で選択したファイルにコメントを付けて保存git push
... ローカルにある最新の情報をGitHubにアップロードするgit pull
... GitHub上にあるレポジトリの最新の情報を取ってくる
git branch
... ブランチの操作をするgit checkout
... ブランチを切り替える
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
$ brew install git
$ git --version
git version 2.25.0
~/.ssh = ssh関連のファイルを入れるディレクトリ ないかもしれないのでmkdirコマンドで作成する
$ mkdir ~/.ssh
$ cd ~/.ssh
ssh_keygen = ssh keyを生成するコマンド
tomimori_s
とかtomimori_s@uuum.jp
は自分のものに変更
$ ssh-keygen -t rsa -b 4096 -C "tomimori_s@uuum.jp" -f tomimori_s
コマンドを叩いた後にパスフレーズを2回聞かれるので入力します(画面には入力している内容は出ない) パスフレーズは空でもOK
$ ls -la
-rw------- 1 tousa_k staff 3381 2 7 11:47 tomimori_s
-rw-r--r-- 1 tousa_k staff 744 2 7 11:47 tomimori_s.pub
ssh-keygenコマンドを叩いた直後。パスフレーズ1回目を聞かれる。
もう一度同じパスフレーズを入力。
ssh keyが作られたところ。
lsコマンドで中身を確認してtomimori_s
とtomimori_s.pub
ができていればOK
GitHub右上のメニューからSettings
を選択
SSH and GPG keys
を選択
New SSH Key
を選択
ここで一度ターミナルに戻って、コマンドを叩く。
※tomimori_s
ではなく、tomimori_s.pub
であることに注意
$ cat ~/.ssh/tomimori_s.pub | pbcopy
GitHubに戻って貼り付けてからAdd SSH KEY
をクリック。タイトルは空でもOK。
元の画面に戻って、画像のように追加されていればOK。
ssh通信する設定を書いたconfig
ファイルを落としてくる
$ curl https://raw.githubusercontent.com/UUUM/git-study/master/config.sample > ~/.ssh/config
自分が作ったssh keyの名前でファイルの中身を置換する(okubo_m
が自分のものになる)
$ sed -i -e 's/tomimori_s/okubo_m/' ~/.ssh/config
sshコマンドでGitHubにつなげられるかチェックする パスフレーズを聞かれるのでssh keyを作ったときと同じものを入れる。
$ ssh -T github.com
Enter passphrase for key '/Users/XXX/.ssh/okubo_m':
Hi MozyOk! You've successfully authenticated, but GitHub does not provide shell access.
このレポジトリ をクローンする
$ cd ~/Desktop
$ git clone git@github.com:UUUM/git-study.git
$ cd git-study
VSCodeでクローンした UUUM/git-study
を開いてみる。
url: https://github.com/UUUM/git-study/issues
先に立ててみた
# 01.mdを更新したい場合
$ git branch
* master
$ git checkout -b feature/update-01_md
Switched to a new branch 'feature/update-01_md'
$ git br
* feature/update-01_md
master
issueで割り当てられたファイルを適当に編集してみる。
01.md
のファイルを編集した場合こういう表示になる
$ git status
On branch master
Your branch is ahead of 'origin/master' by 1 commit.
(use "git push" to publish your local commits)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: 01.md
no changes added to commit (use "git add" and/or "git commit -a")
$ git add 01.md
$ git commit -m "ここにコミットメッセージを書く"
$ git push origin HEAD
$ git branch
* feature/add-01
master
$ git checkout maser
$ git pull