Top page

github memo


参考URL

  1. git公式サイト: https://git-scm.com/
    Download: https://git-scm.com/download/win
  2. git for Windows: https://gitforwindows.org/
  3. github: https://github.co.jp/
  4. Visual Studio Code (VSCode): https://azure.microsoft.com/ja-jp/products/visual-studio-code
  5. git基礎: https://codezine.jp/article/detail/16559
  6. gitコマンド: https://qiita.com/fukumone/items/73e1a9a62c5e4454263b

必要なもの

  1. git bash
  2. VSCodeがあると便利

準備: これらの詳細は検索して調べてください

gitのインストール: 基本、git bashで使用することになります
# Windowsのgit bashは MinGW 上で動いています

  1. VSCodeの拡張機能
    Gitgraph ブランチとコミット状況をグラフで表示
    Gitmoji VScodeからのコミットメッセージにgitmojiを使えるようにする
    Gitlens 総合的なGit専用の拡張機能
     
  2. VSCode "表示" => "ターミナル" でターミナルを起動
    ターミナルペイン右上の左端メニューの 下矢印記号から git bash を選ぶ
     
  3. 初期設定
    $ git config --global user.name hogehoge
    $ git config user.email hogehoge@xxx.com

githubの設定

  1. アカウント作成
     
  2. SSH設定 (ida_rsaの登録)
    ローカルPC:
    $ ssh-keygen -t rsa
    あるいは
    $ ssh-keygen -t ed25519 -b 4096 tkProg -C メールアドレス"
    など 
          -t: 暗号化のタイプ (rsa, dsa, ecdsa, ed25519)
         -b: ビット数。
         -C: コメント。デフォルトが "ユーザ名@ホスト名" なので、不要のはず。
    ファイル名を聞かれたら、ENTER空打ちをすれば、~/.ssh/{id_rsa,id_rsa.pub} を作ってくれる。
    ファイル名を入力すると、カレントディレクトリにファイルを作るので注意 (この場合は~/.ssh内で作業すること)。 
    パスフレーズなどを聞かれますが、全てENTER空打ちでOK.
  3. .ssh/id_rsa.pub をgithubに登録
    github web:
    ・ アカウントアイコン(右上)
    ・ 左メニュー: SSH keys => SSH and GPG Keys => 右上 "New SSH key"をクリック
     Keyに id_rsa.pub の内容を貼り付け
  4. SSH設定の確認
    ローカルPC:
    $ ssh -T git@github.com

    Hi (account名)! You've successfully authenticated, but GitHub does not provide shell access.
    が帰ってきたらOK

レポジトリの作成: 

既にもっているプログラムをリモートレポジトリとローカルレポジトリで共有する手順

githubでリモートレポジトリを作成

  1. githubにアクセス
  2. トップメニュー ”Repositories"
  3. 右上の "New repository" をクリック
  4. Repository name、Description (オプション) を入力
    公開しない場合は Private を選ぶ (ここではtkProgにする)
    "Add a README file" にチェック
    "Add .gitignore" で ".gitignore template: Python" を選ぶと、python casheなどを同期しないので便利
    "License"で該当するものを選ぶ。特に指定する必要が無ければ "None"
  5. "Create repository" をクリック
  6. 作ったrepositoryのURLを確認
    ・ Repositoriesから該当するRepositoryを選択
    ・ 右上ボタン "Code" => "SSH"タブ で表示される git@ から始まるURLをコピー (右端がコピーボタン)

ローカル側での設定: ローカルレポジトリ作成まで

  1. VSCode "表示" => "ターミナル" でターミナルを起動
    ターミナルペイン右上の左端メニューの 下矢印記号から git bash を選ぶ
  2. gitファイルを入れるディレクトリ (プロジェクトディレクトリ) を作成 (例: d:\git)
    この下にいろいろなレポジトリを作ります
    $ mkdir git
     
    VSCodeで作る場合:
    ・ "ファイル"メニュー => "フォルダを開く" で d:\ を選択
    ・ ディレクトリリストペインの右上アイコン "新しいフォルダー" で git を作成
  3. ディレクトリ変更
    $ cd git
  4. gitをプロジェクトディレクトリに設定
    $ git init
    デフォルトでは、改行コードを自動的に変換してしまうので、この機能をオフにする
    $ git config --global core.autocrlf false
  5. リモートレポジトリのコピーを作る
    $ git clone tkProg
    あるいは
    $ git clone https://github.com/[ユーザー名]/[リポジトリ名].git
    $ git clone レポジトリパス ローカルディレクトリ名
  6. ローカルレポジトリを管理対象に追加
    $ git add tkProg

リモートレポジトリへの同期: push、merge

  1. 作ったrepositoryは main (あるいは master) ブランチ となっている。
    まずはサブブランチを一つ作り、ローカルレポジトリはブランチにpushし、プロジェクト管理者側で main にマージするかどうかの制御をさせる。ここでは "update1" というサブブランチを作成する
    $ git branch update1
    ブランチの状況は以下で確認
    $ git branch
    * main        # mainが作業対象
    update1
    ブランチの切り替え
    $ git checkout update1
  2. ローカルレポジトリの変更を反映 (commit)
    $ git commit -m "コメント"
  3. リモートレポジトリへ現在のbranchをpush
    $ git push origin update1
    upstreamが設定されていない場合は
    $ git push --set-upstream origin update1
  4. mainブランチへマージ
    $ git merge update1

日常操作: 更新したファイルをリモートレポジトリに反映

  1. ブランチの切り替え
    $ git checkout update1
  2. ローカルレポジトリの変更を反映 (commit)
    $ git commit -m "コメント"
  3. mainブランチへマージ
    $ git merge update1

日常操作: リモートレポジトリをローカルレポジトリに反映: pull

  1. リモートレポジトリをローカルレポジトリのbranchに反映
    $ git pull origin update1

日常操作: ステージの確認

  1. ステージ内のファイル一覧
    $ git ls-files
    詳細情報も表示
    $ git ls-files -s 
    ファイルの内容を表示. hash はgit ls-files -sで表示したハッシュ地の先頭数文字
    $ git show hash

日常操作: その他

  1. レポジトリ情報
    $ git status
  2. 差分表示
    $ git diff
  3. commitログ
    $ git log
  4. リモートレポジトリの確認
    $ git remote -v