Git

Gitコマンド/GitHub備忘録

個人用の備忘録です。自分がよく使うコマンドやTipsをまとめており、適宜更新していく予定です。

始める前に

これは日本語の記事ではあまり書かれていないことですが、もし大学に通う学生であれば、Student developer packを使うことによって、通常毎月€7掛かるプライベートリポジトリを無料で持つことができます。大学のEメールアドレスを使う登録する必要がありますので、Personal settingsのEmailsに登録しましょう。

初期設定

リモートリポジトリからのクローン git clone $URL
リポジトリの作成 git init
ssh公開鍵設定 (参考URL)
GitHubのssh公開鍵設定に自分のid_rsa.pubファイルの中身を加筆します。
クローン時に以下のようなエラーが出ることがある場合は、公開鍵の設定が必要です。

Permission denied (publickey).
fatal: Could not read from remote repository.

設定の確認 git config --list

ファイルの取扱

ファイル追加

git add ${ファイル名}
git commit -m '${変更内容}'
git push origin ${ブランチ名}

gitで管理しないファイル名一覧を.gitignoreに記載。

gitではmvではなくgit mvを使う。

作業の取り消し

git addによるステージングを取り消し git reset HEAD $ファイル名
一つ前のコミットの取り消し git reset --soft HEAD^
--softオプションはファイルを残す場合。残さない場合は--hard

ブランチ操作

ブランチ一覧表示 git branch
ブランチの作成 git branch ${ブランチ名}
ブランチの削除 git branch -d ${ブランチ名}
ブランチの切替 git checkout ${ブランチ名}
ブランチ名を指定してクローン git clone -b ${ブランチ名}

共同モデル開発におけるGitHubの利用例

GitHub を用いた共同モデル開発ワークフローの一例です。 (参考URL)

  1. リモートリポジトリの内容のマージを行わずに、最新の情報を確認する。
    (正確には、リモートのコピーをローカルにダウンロード)
    git fetch

  2. 一時作業用のブランチを作成。-bオプションによりチェックアウトも同時に実行。
    git checkout -b ${ブランチ名} origin/master

  3. 作成したブランチ内で作業をしコミット。

  4. 再度アップデート
    git pull --rebase

  5. 作業中のブランチをpush
    git push origin ${ブランチ名}

  6. GitHub上でPull requestをする。Reviewerに共同作業者を追加し、承認を待つ。

  7. masterに送る (Pull requestのみで)
    git push origin ${ブランチ名}:master