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

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

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

[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. プルリクをしてみる

Avatar for harutiro

harutiro

June 01, 2022
Tweet

More Decks by harutiro

Other Decks in Technology

Transcript

  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