Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[GitHub勉強会資料 CLI版]How To Use GitHub In CLI

[GitHub勉強会資料 CLI版]How To Use GitHub In CLI

[初めに]
プログラマーなら誰しも使うアプリGit・Githubを簡単に一時間程度で学ぶことができるHowToものを作成しました。
ぜひこのスライド用いてGitの基本の機能を使って、学んでもらえると嬉しいです。

[ターゲット]
・GitやGithubを知らないプログラマ初学者。
・ターミナル操作はある程度慣れていると良いが、特にその技能がなくても使えるように作成しました。
・Gitを使う流れやなぜ使うかを知りたいかた。

[内容]
1. バージョン管理ツールとはなにか?
2. Gitのインストール
3. GitHubアカウントを作成しよう
4. Gitの初期設定を行う
5. VSCodeの初期設定
6. Gitの基本的な流れ
7. 実際にcommitまでやってみる
8. ファイルの変更を行ってみる
9. ブランチを切ってみる
10. チェックアウトをしてみる
11. プルリクをしてみる

harutiro

June 01, 2022

Transcript

168 slides
  1. このスライドの見方(CLI) 5 $ brew -v > Homebrew 3.5.4 $が書いてある場合は入力して欲しいコマンドです >

    が書いてある場合は出力される結果です $ git config .-global user.name "ユーザー名" “〜〜〜”と書いてある時は〜〜〜だけ入力してください
  2. お品書き 1. バージョン管理ツールとはなにか? 2. Gitのインストール 3. GitHubアカウントを作成しよう 4. Gitの初期設定を行う 5.

    Gitの基本的な流れ 6. 実際にcommitまでやってみる 7. ファイルの変更を行ってみる 8. ブランチを切ってみる 9. チェックアウトをしてみる 10. プルリクをしてみる 7
  3. [コラム] チーム開発をする時に大事なこと 17 • 些細な問題でも、違和感を感じたら、すぐに連絡をする ◦ コミュニケーションが大事 • マージをする時は、勝手にマージをしない ◦

    プロジェクト全体で連絡をする • こまめにバックアップ、コミット、プルリクを出す ◦ 大きすぎる変更点は事故の元 ◦ ビックバン変更点は出さないように
  4. Gitをインストールしてみる(Mac) $ brew install git $ git -v > git

    version 2.37.0 バージョンが帰ってきたらインストール 完了です。 23
  5. Topic! Brewが入っていない方へ。 $ /bin/bash -c "$(curl -fsSL https:./raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" $ echo 'eval

    $(/opt/homebrew/bin/brew shellenv)' .> ~/.zprofile $ eval $(/opt/homebrew/bin/brew shellenv) $ brew -v > Homebrew 3.5.4 > Homebrew/homebrew-core (git revision 7d69acd3065; last commit 2022-07-13) > Homebrew/homebrew-cask (git revision ce084d024b; last commit 2022-07-13) Brewが入っていない方は上の3行を貼り付けてみましょう!! 24
  6. ローカルとリモートの紐付けする設定 43 リモート ローカル • SSHキー • ユーザー名 • メールアドレス

    ローカル側とリモート側を紐づけるためにSSHキー、 ユーザー名、メールアドレスを用いる この内容を用いて、ソースコードに自分が書いた 情報を付け加える GitHub Git
  7. ユーザー名とアドレスを登録する $ git config .-global user.name "ユーザー名" $ git config

    .-global user.email "メールアドレス" $ git config user.name > “ユーザー名” $ git config user.email > “メールアドレス” 47 ※ユーザー名はGitHubで登録したユーザー名を使用してください
  8. SSHキーを作成する ./ ホームディレクトリに移動するため $ cd $ ls -al | grep

    .ssh > -rw------- 1 k22120kk staff 20 7 13 18:48 .lesshst > drwx------ 18 k22120kk staff 576 7 12 03:34 .ssh ./.sshが表示されない時は mkdirで作成しましょう $ mkdir .ssh $ cd .ssh 50
  9. SSHキーを作成する $ ssh-keygen -t ed25519 引用元:(【Windows】Gitの環境構築をしよう!) https://prog-8.com/docs/git-env-win ⏎ Enter ⏎

    Enter ⏎ Enter ファイル名の指定 今回はデフォルトなので そのままエンター パスワードの設定 今回はそのままエンター パスワードの確認 今回はそのままエンター 51
  10. SSH接続を確認する $ ssh -T [email protected] > This key is not

    known by any other names Are you sure you want to continue connecting (yes/no/ [fingerprint])? yes Hi <ユーザー名> ! You’ve successfully authenticated, but GithHub does not provide shell access. 実行して、yesかnoかを聞かれたら、yesと答えましょう。 Hi の後にユーザー名が出力されれば成功です。 60
  11. Gitの大きな流れ • Add コミットするファイルを追加する • Commit 追加・変更点をGitに追加する • Push リモート(ネット)に打ち上げる

    • Pull リモート(ネット)から変更点をもらう 62 引用元:(Progate-Git) https://prog-8.com/slides?displayed_id=2642&lesson=66
  12. pushすると 74 ローカル リポジトリ id: 1 id: 2 GitHub リモート

    GitHub側で、リポジトリは 作って、ローカルと 紐付けは終わっている状態
  13. Gitの大きな流れ • Add コミットするファイルを追加する • Commit 追加・変更点をGitに追加する • Push リモート(ネット)に打ち上げる

    • Pull リモート(ネット)から変更点をもらう 77 引用元:(Progate-Git) https://prog-8.com/slides?displayed_id=2642&lesson=66
  14. 簡単なコンソールのおさらい for Mac $ mkdir gitTest //ディレクトリの作成 $ cd gitTest //ディレクトリの移動

    $ ls //今いるフォルダーに何があるか確認 $ touch index.html //からのファイルの作成 $ cat ファイル名 //ファイルの中身を表示 $ echo "追加で書くもの" >> ファイル名 //ファイルに追加書き込み 87
  15. 簡単なコンソールのおさらい for Windows $ mkdir gitTest //ディレクトリの作成 $ cd gitTest //ディレクトリの移動

    $ dir //今いるフォルダーに何があるか確認 $ type nul > index.html //からのファイルの作成 $ type ファイル名 //ファイルの中身を表示 $ echo "追加で書くもの" >> index.html //ファイルに追加書き込み 88
  16. プロジェクトを立ててみる $ mkdir src //srcファイルがある時はやらなくて大丈夫です $ cd src $ mkdir

    gitTest $ cd gitTest $ git init > Initialized empty Git repository in <それぞれのパス>/.git/ GitTest “Git init”でバージョン管理を 行う設定をした 89
  17. ファイルを作成する Macの場合 $ touch index.html windowsの場合 $ type nul >

    index.html 91 ワークツリー ステージ リポジトリ ワークツリーのファイルを 編集する
  18. Addをしてみる $ git add index.html $ git add -A //Aは大文字

    Topic!今のプロジェクトのデータをすべて選択 したい場合 92 ワークツリー ステージ リポジトリ ターミナルの内容
  19. ステータスを見てみる $ git status > On branch master Changes to

    be committed: (use "git restore --staged <file>..." to unstage) modified: index.html 今のファイルの状態を見ることが出来ます。 今は、コミットされるファイルが表示されています。 93
  20. コミットした履歴を見てみる $ git log > commit 0cd513265131d7f2d915e9965d5b10ba94e80a44 (HEAD -> master

    )  Author: harutiro <[email protected]>  Date: Wed Jul 13 10:48:44 2022 +0900 初めてのコミット コミットをした履歴をみることが出来ます。 95
  21. プッシュをしてみる $ git push origin main 96 ワークツリー ステージ リポジトリ

    id: 1 GitHub id: 1 ターミナルの内容 ローカル側の変更点を リモートにアップロードする
  22. まとめ $ git init //gitを使えるようにする $ git remote add origin

    <URL> //リモートの追加 $ git add <ファイル名> //コミットするファイルの追加 -Aですべて選択 $ git commit -m “コミットメッセージ”//コミットをする $ git push origin main //リモートに打ち上げる $ git pull origin main //リモートからデータを貰う 基本使うのはこの6つのコマンド Gitを使いこなして、Gitマスターになろう!! 102
  23. おまけ $ git status $ git log $ git diff

    Git状態を知る様々なコマンド、 どういった動きをするか、実行をしてみよう。 103
  24. ファイルの変更を行う(Macの人) $ nano index.html GitTest index.html UW PICO 5.09 File:

    index.html Modified       こんにちは世界 ^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos ^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell エディターを使って ファイルを編集して みましょう 107
  25. add・commit・pushをしてみる $ git add -A $ git commit -m “indexに文を追加した”

    $ git push origin main これで新しい変更を保存することが出来ました。 109
  26. ギットログをグラフ形式で見てみる(短い版) $ git log --graph --all > * harutiro 9471325

    (HEAD -> master) indexに文を追加した * harutiro 0cd5132 初めてのコミット 今はただの点に見えますが、今後Gitをたくさん 使っていくとどんどんカラフルになります。 110
  27. ギットログをグラフ形式で見てみる $ git log --graph --all --format="%x09%C(cyan bold)%an%Creset%x09%C(yellow)%h%Creset %C(magenta reverse)%d%Creset

    %s" > * harutiro 9471325 (HEAD -> master) indexに文を追加した * harutiro 0cd5132 初めてのコミット 今はただの点に見えますが、今後Gitをたくさん 使っていくとどんどんカラフルになります。 111
  28. ブランチの一覧を表示してみる $ git branch > * master masterブランチ 今あるブランチの一覧を表示します *がついているところが今いるブランチです。

    119 注意!  ブランチ名がmasterの場合とmainの場合があるので、確認をお願いします。 そしてmainだった場合はうまく読み替えてください。
  29. ブランチを作ってみる $ git branch newBranch $ git branch > *

    master newBranch masterブランチ newBranchが 出来た 120
  30. チェックアウト • ブランチを切った後に、その場所にずれる • HEADは今いるブランチの最新の変更点 Origin / HEAD Origin /

    HEAD 今いる場所からずれる Headとは何か説明をする記事 https://qiita.com/takeokunn/items/5bc499121a21f8c5b990 121
  31. ブランチを移動してみる $ git checkout newBranch $ git branch > master

    * newBranch masterブランチ Origin / HEAD Origin / HEAD 今いる場所からずれる 122
  32. 新しいコミットをつくってみよう $ echo 追加で書くもの >> index.html $ git add -A

    $ git commit -m “indexに文を追加した2” $ git push origin newBranch masterブランチ newBranch 124
  33. ログを確認してみよう $ git log --graph --all --format="%x09%C(cyan bold)%an%Creset%x09%C(yellow)%h%Creset %C(magenta reverse)%d%Creset

    %s" > * harutiro d4f1cc9 (HEAD -> newBranch) indexに文を追加した2 * harutiro 9471325 (master) indexに文を追加した * harutiro 0cd5132 初めてのコミット masterブランチ Origin / HEAD 125
  34. ブランチを移動してみる $ git checkout main $ git branch > *

    master newBranch masterブランチ Origin / HEAD Origin / HEAD 今いる場所からずれる 132
  35. ログを確認してみよう $ git log --graph --all --format="%x09%C(cyan bold)%an%Creset%x09%C(yellow)%h%Creset %C(magenta reverse)%d%Creset

    %s" > * harutiro d4f1cc9 (newBranch) indexに文を追加した2 * harutiro 9471325 (HEAD -> master)indexに文を追加した * harutiro 0cd5132 初めてのコミット masterブランチ Origin / HEAD 137
  36. テンプレートを貼り付けてみよう Macの場合 $ pbpaste > .gitignore windowsの場合 $ Get-Clipboard >

    .gitignore .giti gnore クリップボードから .gitignoreにコピーをし た内容を流し込みます
  37. テンプレートが書き込めたか確認する Macの場合 $ cat .gitignore windowsの場合 $ type .gitignore >

    # Logs logs *.log ~~~この先もめちゃめちゃ続く... catかtype コマンドを用いて、 ファイルの中身を出力させられます。 かなり長い文章なので、 みきれてしまうかもしれないです。 うまくいかない場合は、もう一度 テンプレートをコピーするのを おすすめします。
  38. .envファイルを作ってみよう Macの場合 $ touch .env windowsの場合 $ type nul >

    .env .env .envファイルが作成されます 環境設定としてよく.envファイルを作成します。 これを再現するため、.envを作成して、 パスワードっぽいものを入力してみます。
  39. .envファイルの中身を作ってみる $ echo password=pass > .gitignore Macの場合の.envの確認方法 $ cat .gitignore

    windowsの場合の.envの確認方法 $ type .gitignore >password=pass .env 「password=pass」という 文字列を.envファイルに 書き込みます password=pass
  40. git statusで状態を確認する $ git status On branch feature Your branch

    is up to date with 'origin/feature'. Untracked files: (use "git add <file>..." to include in what will be committed) .gitignore nothing added to commit but untracked files present (use "git add" to track) statusコマンドを用いて、現在ファイルがどのような状態になっているか確認します。 .envが写っていないので、git からは管理されていないのが確認できました! .envファイルがないのを確認
  41. 参考文献・引用文献 165 [【Windows】Gitの環境構築をしよう!] https://prog-8.com/docs/git-env-win [【Mac】Gitの環境構築をしよう!] https://prog-8.com/docs/git-env [フリーアイコンの数千人] https://icon-icons.com/ja/ [【MacOS】Homebrew経由でGitをインストールする方法] https://blog.cloud-acct.com/posts/u-homebrew-git-install/ [コマンドプロンプトを起動する] https://www.javadrive.jp/command/ini/index1.html

    [【Linux】ファイル検索のあれこれ【ls/find/grep/xargs】] https://kojimanotech.com/2018/12/28/113/#outline__3 [サル先生のGitHub入門 プルリクエストとは?]https://backlog.com/ja/git-tutorial/pull-request/01/ [git log を見やすくする]https://qiita.com/takasianpride/items/842a785af610025a2030
  42. バージョン情報 2022/07 ver1.0 初期リリース 2023/02 ver1.1 PRの記述の追記 2024/10 ver2.0 ステージ、リポジトリの説明、SSHの説明などの追記

    2025/03 ver3.0 Gitをどういうときに使うのかを追記 2025/05 ver3.1 フィードバックのQRの追加 2025/05 ver3.2 GitとGitHubの違いを説明するスライドの微調整 2025/08 ver3.3 CLI版とVSCode版で差異があった部分を修正 2025/10 ver3.4 gitignoreを追記 166
  43. 奥付 発行日 初版: 2024年11月03日(日) 技術書典17 サークル Luciano研究室 X (Twitter) ID

    @stluciano ̲ labo Webサイト https://www.stluciano‒server.net/ 著者 牧野遥斗 メールアドレス [email protected] Qiita URL https://qiita.com/harutiro Webサイト https://www.harutiro.net X (Twitter) ID @harutiro2727 印刷所 なし 168

More Decks by harutiro

Other Decks in Technology