0
0

More than 1 year has passed since last update.

Git / GitHub の使い方演習【MacOS 10.15 Catalina】

Last updated at Posted at 2022-10-18

Git / GitHubの使い方の勉強過程をまとめてみました。

OS環境:MacOS 10.15 Catalina (MacOS 12.6 Montereyでも確認)
git環境:git version 2.37.0

1. HomebrewからGitをインストールする

1.1 Homebrewを最新にする

homebrewのアップデート
$ brew update  #homebrewのupdate
$ brew -v  #version確認 

brewが通らない人はexport PATH="$PATH:/opt/homebrew/bin/" を.bash_profileに書き込んでね(bashの場合)

1.2 gitをインストールする

gitのインストール
$ brew install git  #gitのインストール
$ git --version  #バージョン確認

2. Gitのパスをインストール

2.1 使用中のシェルを確認

$ echo SHELL  #使用中のシェルを確認(bash oe zsh)

2.2 シェルに合わせたパスの追加

$ sudo vi ~/.zshrc  #zshの場合
$ sudo vi ~/.bash_profile  #bashの場合
#パスの設定
export PATH=/usr/local/bin/git:$PATH
#シェルの再起動 
$ exec $SHELL -l
#gitのバージョン確認 
$ git --version

viエディタについて
Escで閲覧モード、aやiで挿入モード
閲覧モード時に :wqで保存終了

3. パスワード等の設定

git config --global user.name 'xxx'
git config --global user.email 'xxx'

4. SSH接続の設定 

4.1 秘密鍵を作成する

.sshフォルダがない場合は作成する

# カレントディレクトリをhomeに
$ cd
# 隠しフォルダを確認
$ ls -a 
# ここで.sshディレクトリがない場合は作成 
$ mkdir .ssh

ssh-keygenコマンドで公開鍵と秘密鍵を作成

オプション名 説明
-t 作成する鍵の暗号化形式を「rsa」(デフォルト)、「dsa」「ecdsa」「ed25519」から指定する
-b 作成する鍵のビット数を指定する(RSA形式の場合、デフォルトは2048bit)
-C コメントを指定する(デフォルトは「ユーザー名@ホスト名」。「-C ""」でコメントを削除)

コマンド実行時に、保存フォルダおよびパスフレーズを聞かれますが、入力せずにEnterを押すとそれぞれ ~/.sshディレクトリと、パスフレーズなしに設定されます。

$ cd ./.ssh
# ed25519で作成する場合
$ ssh-keygen -t ed25519 -C メールアドレス
# rsaで作成する場合
$ ssh-keygen -t rsa -b 4096 -C メールアドレス

ed25519の場合は
id_ed25519 (秘密鍵)
id_ed25519.pub (公開鍵)

rsaの場合は
id_rsa (秘密鍵)
id_rsa.pub (公開鍵)
が作成される

4.2 公開鍵の方の内容を登録する

gitHubのSettings > SSH and GPG keys > New SSH keyにコピー&ペーストで貼り付ける。
(ssh 以下、メールアドレスまで全て貼り付ける)

4.3 接続確認

$ ssh -T git@github.com
# パスフレーズを設定している場合は入力を求められる

4.4 (補足)pushの際にパスフレーズを求められないようにする

ssh-addでSSH鍵をssh-agentに登録する

$ ssh-add 秘密鍵ファイルのパス
# 登録されていることを確認
$ ssh-add -l

~/.ssh/configにSSH鍵のパスフレーズを記憶するように設定する

config
# common
Host *
 UseKeychain yes
 AddKeysToAgent yes

5. 実際のリモートへのpushまで

5.1 gitでローカルにリポジトリを作成

# gitを始める
$ git init
# フォルダ内のファイルを確認する 
$ ls -a
# うまくいっていれば .git ディレクトリができている

5.2 githubでリモートにpushする

初めはREADMEや.ignoreを作成するオプションはなくてOK。
開始時に使用するコマンドが出てくるので、そのまま入れていく。

# マスターブランチの名前を確認
$ git branch
# "master"と出てきた場合は、以下でmainに変更する
$ git branch -M main
$ git branch #確認

次に、リモートの保存先リポジトリを設定する

# リポジトリに接続(originが指定したリポジトリになる)
$ git remote add origin git@github.com:***/***.git
# 確認
$ git remote -v
# pushするbranchを指定
$ git push -u origin main

ここまで設定したら、あとは実際のpush

# 変更をaddしていく
$ git add . #全てのファイルの変更をadd
# ローカルでcommitする
$ git commit -m "コメント"
# リモートにpushする
$ git push
# 現在の状態を確認
$ git branch -vv

6. リモートにアップロードしたくないファイルについて

  • ローカルフォルダ内に .gitignore ファイルを作成
  • 中に除外したいファイルの名前を書く
  • 正規表現で拡張子指定、ディレクトリ指定で下層のファイルをまとめて指定などもできる

7. branchの管理について

ブランチ管理のコマンド一覧

コマンド 説明
git branch ブランチの確認
git branch <new> 新規ブランチ作成
git branch -m <old> <new> ブランチ名変更
git branch -d <ブランチ名> ブランチの削除
git switch <ブランチ名> ブランチを切替
git switch -c <new> 新規ブランチ作成+切替

branchからのpushは、初めリモートのブランチ名を指定してのpushが必要になります

# ローカルとリモートのブランチの確認
$ git branch -vv
## * main ******* [origin/main] *** のように表示される
# push先を指定してpush
$ git push origin/<ブランチ名>

8. プルリクエストについて

8.1 github側(リモート)でマージ

  • branch表示画面または"Pull requests"タブの"Compare & pull request"を選択
  • baseとcompareのbranchを選択し、"Create pull request"を選択
  • Conflictのチェック結果が表示される
    • なければ"Merge pull request"、"Confirm merge"でmergeできる(closeする)

8.2 ローカル側でマージ

mergeされたいブランチ側にいる状態で、git merge 比較するブランチ名 でmergeできる。

mergeされたいブランチ ← 比較するブランチ

コメントを求められる時はviエディタで追記すればよい

  • aまたはiで入力モード
  • escで操作モード
  • :wqで保存し終了
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0