【Git/Github入門】基本的な使い方・コマンド集

GitとGithubの基本的な使い方について入門者向けにまとめました。

【はじめに】Gitとは

git(ギット)とは、プログラム開発を管理できる便利なシステムです。
製作中のソースコードの変更履歴やバージョンを効率的に管理・記録できます。
様々なオープンソースのプログラム開発で利用されています。

【基礎】Git/Githubの基本用語

Gitの基本用語として次のようなものがあります。

用語 説明
コミット(commit) データを修正し、その結果をローカルリポジトリに適用。
プッシュ(push) ローカルリポジトリのデータを修正し、その結果をリモートリポジトリに適用。
プル(pull) リモートリポジトリのデータを修正し、その結果をローカルリポジトリに適用。
ブランチ(branch) 修正作業の流れを主流から枝状に分岐させて管理。(ブランチにおける修正は他のブランチの影響を受けない。そのため、同じリポジトリで同時に複数の開発が可能)
クローン(clone) リモートリポジトリをコピーし、新たなリモートリポジトリを作成。
チェックアウト(checkout) 他のブランチへ移動し、作業ディレクトリを任意のコミット状態にすること。
マージ(merge) 異なるブランチの修正結果を適用。(マージ先とマージ元の両方に変更履歴が有る)
【Git用語集】リポジトリ、クローン、コミット、ブランチ等の意味
Gitの基本用語である「リポジトリ」「クローン」「ブランチ」等の意味についてまとめました。

Githubでは、主に次のような用語が使われています。

用語 意味
Gist 小規模なプログラムのコードやメモを共有できる機能。
Pages Webページを作れるホスティングサービス。
pull request プログラムのコードをレビューする機能。他の人に修正作業の結果を見てもらいたい場などに使う。
フォーク(fork) 他のリモートリポジトリをコピーして、自分のリモートリポジトリで編集できる機能。
イシュー(issue) プログラムの課題を管理する機能。「コード」「プルリクエスト」「修正履歴」と課題を関連付けて管理可能。
オーガナイゼーション(organization) 組織や団体、プロジェクトなどのグループのこと。
【Github用語集】Gist、Pages、pull request、fork、issue等の意味
Githubの基本用語であるGist、Pages、pull request、fork、issue等の意味についてまとめました。

【環境構築】Git(ポータブル版)のインストール

インストール手順は以下のとおりです。

①以下のリンク先を開きます。
https://github.com/git-for-windows/git/releases

②PortableGit-2.12.1-〇〇-bit.7z.exeをダウンドードします。
※〇〇はお使いのOSのbitに応じて変えます。

③ダウンロードしたexeファイルをダブルクリックします。

④「OK」ボタンを押すとGitのポータブル版(PortableGit)が展開されます。

⑤ポータブル版なので、「PortableGit」を任意の場所に移動しても使用できます。

【Portable Git】Windows10にインストール
この記事では、Git(ポータブル版)をWindows10にインストールする方法をソースコード付きで解説します。

【基本操作】バージョンを確認・表示

①「Git Bash」を起動します。
※Windowsの場合、[git-bash.exe]をダブルクリック

②下記のコマンドを実行します。

$ git --version

③Gitのバージョンが表示されます。

git version 2.18.0.windows.1

【config設定】ユーザー名、メールアドレス

①[git-bash.exe]をダブルクリックし、「Git Bash」を起動します。

②下記のコマンドを実行します。

$ git config --global user.name "nishizumi"
$ git config --global user.email nishizumi@example.com

※上記はユーザー名「nishizumi」、メールアドレス「nishizumi@example.com」で設定した例

③これで設定完了です。
設定内容は以下のコマンドで確認できます。
※Enterを押していくと確認できます

$ git config --list
,
.
.
user.name=nishizumi
user.email=nishizumi@example.com
【Git】ユーザー名とメールアドレスの設定(Windows編)
Windows環境において、Gitでユーザー名とメールアドレスを設定・確認(表示)する方法についてまとめました。

【SSH】秘密鍵、公開鍵の作成

①Git Bashを起動します。

②下記のコマンドを実行します。

$ ssh-keygen -t rsa -b 4096 -C "nishizimi@example.com"

※「nishizimi@example.com」は設定したメールアドレス

オプション ssh-keygenコマンドの説明
-t 鍵のタイプ
-b 鍵の長さ(GitHubの推奨は4,096ビット。長いほど安全性が高い)
C コメント(何の鍵かなどを残せる)

③作成される鍵の「ファイル名」を指定します。

Enter file in which to save the key (/c/Users/hogehoge/.ssh/.ssh/id_rsa):id_rsa_github_nishi

※上記はファイル名を「id_rsa_github_nishi」とする場合
※何も指定しないとデフォルトのファイル名「id_rsa」で出力されます。

④パスワードを入力して設定します。
※SSH接続時などに利用

Enter passphrase (empty for no passphrase): <任意のパスフレーズ>
Enter same passphrase again: <パスフレーズ>

⑤これで、秘密鍵(id_rsa_github_nishi)と公開鍵(id_rsa_github_nishi.pub)がペアで作成されます。

作成場所 git-bash.exeと同じディレクトリ
秘密鍵 大切に内部で保管します。(外部には非公開)
公開鍵 SSH接続したいサービスに登録(GitHubなど)

⑥「git\etc\ssh\ssh_config」ファイルをエディタで開いて下記の内容を追記します。

Host github_nishi
  HostName github.com
  User git
  IdentityFile id_rsa_github_nishi

※id_rsa_github_nishizumiは秘密鍵のファイルパスです。

⑦この設定を行うことで、GithubとSSH接続する場合に「ssh github_nishi」と入力するだけで済みます
※「ホスト名」「ユーザー名」「秘密鍵」の入力作業を省略可能。

【git bash】windows10ではchmodでパーミッション変更できない
git bashがwindows10ではchmodでパーミッション変更できない件についてまとめました。
【Git】ユーザー名とメールアドレスの設定(Windows編)
Windows環境において、Gitでユーザー名とメールアドレスを設定・確認(表示)する方法についてまとめました。

【Github】リポジトリの作成

①下記URLからGithubにログインします。
https://github.com/

②[Repository]をクリックします。

③[New]をクリックします。

④「Repository name」欄に作成したいリポジトリ名を入力します。

⑤「Initialize this repository with a README」にチェックを入れて「Create repository」をクリックします。
これでリポジトリは完成です。

【Github】リポジトリの作成
Githubのリポジトリを作成する方法についてまとめました。

【GitHub】公開鍵の登録(Windows編)

①作成した公開鍵ファイル(id_rsa_github_nishizumi.pub)を適当なエディタで開きます。

②公開鍵ファイルの中身をコピーします。
※改行や余分な文字列が入らないように注意

③GitHubのページの右上にあるアイコンをクリックし、アカウントメニューの中にある「Settings」を開きます。

④左側のメニューから「SSH and GPG keys」タブをクリックします。

⑤「New SSH key」をクリックします。

⑥「Title」には任意のタイトルを入れます。
※どの「PC」「サーバー」にある秘密鍵のペアである公開鍵かわかるようなタイトルを付けると便利

⑦「Key」にコピーした公開鍵ファイルの中身を貼り付けて、「Add SSH key」をクリックします。

⑧これで公開鍵の登録が完了です。
先程の登録作業が成功しているか検証するため、GitHubへSSH接続してみます。
次のコマンドを実行します。

$ ssh github_nishizumi

パスワードを求められたら、鍵の生成時に設定したパスフレーズを入力します。
以下のようなメッセージが表示されたら成功です。

Hi <Githubのアカウント名>! You've successfully authenticated, but GitHub does not provide                              shell access.
Connection to github.com closed.
【Git】GitHubで公開鍵の登録(Windows編)
Windows環境において、Githubで公開鍵を登録する方法についてまとめました。

【clone】Githubリポジトリをローカルにクローン

①Gitの作業ディレクトリを作成します。

$ mkdir git
$ cd git

②GitHubリポジトリのページ右にある「Clone or download」→「Use SSH」をクリックします。

③以下の文字列をコピーします。

git@github.com:<ユーザー名>/<Githubリポジトリ名>.git

④Git Bashで先程コピーした文字列を使って以下のコマンドを実行します。

$ git clone git@github.com:<ユーザー名>/<Githubリポジトリ名>.git

⑤以下のような表示が出てきて、Githubリポジトリと同じデータがローカルの作業ディレクトリ内にコピーされていれば成功です。

Cloning into '<リポジトリ名>'...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (3/3), done.
【git】Githubリポジトリをローカルにクローン(コピー)
git bashコマンドで、Githubリポジトリをローカルにクローン(コピー)する方法についてまとめました。

【push】Githubリポジトリにアップロード

① 認証エージェント(ssh-agent) に、秘密鍵を追加します。

eval `ssh-agent`
ssh-add [秘密鍵ファイルのパス]
【git】エラー「Permission denied (publickey)」の対処方法
git bashコマンドで、エラー「Permission denied (publickey)」が出た場合の対処方法についてまとめました。

② ターミナルでアップロードしたいファイルの場所へ移動します。
※ ドラッグ&ドロップ可能

$ cd [アップロードするファイルのパス]

③ ファイル内をgitで管理可能にします。

$ git init

③ アップロードしたいファイルを追加します。

$ git add 「アップロードしたいファイルのパス」

④ 変更の記録(コメント)をつけてcommitします。

$ git commit -m [任意のコメント]

⑤ アップロード先を指定します。

$ git remote add origin [アップロード先]

⑥ pushしてアップロードします。

$ git push -u origin master

⑦ 「Everything up-to-date」と表示されても、githubのcommitを確認すると、変更されていないことがあります。
その場合は、以下のコマンドを実行します。

$ git push ssh://git@github.com/◯◯◯.git master:master
【git】Githubリポジトリにファイルをアップロード
git bashコマンドで、Githubリポジトリにファイルをアップロードする方法についてまとめました。

【その他】関連記事、参考文献

【GitHub】LGTM、SSIA、AFAIK、FYI、GOTCHA、IMO、TBDの意味
GitHubなどでよく見かけるLGTM、SSIA、AFAIK、FYI、GOTCHA、IMO、TBDなどの意味についてまとめました。
【GitHub Desktop】Commit failed – exit code 128 received, with output: ‘*** Please tell me who you are.エラーの解決方法
GitHub Desktopでコミットしたときに「Commit failed – exit code 128 received, with output: ‘*** Please tell me who you are.」というエラーが出た...

コメント