すたらブログ

文系Webプログラマの備忘録

Git: 日々の開発で使うコマンド

LAN内専用のGitサーバーを利用して少人数でグループ開発する、という場合での作業の流れを自分なりに考えてみました。


個人の開発作業

masterブランチは原版とし、開発作業は新たにブランチを作成してそこで行います。
ひとまとまりの作業が完了したらmasterに統合し、作業ブランチを削除して終了とします。
GitHub Flowとは少し違いますが、より簡単で分かりやすいのではないかと個人的に思います。

git checkout -b "作業ブランチ名"
#### (何らかの編集を行う) ####
git add -A .
git commit -m "コミットメッセージ"
git checkout master
git merge "作業ブランチ名"
git branch -d "削除する作業ブランチの名前"

Gitサーバーへアップロード

Gitサーバーと個人リポジトリとの同期は、お互いのmasterブランチで行うようにします。

git push origin master

# 他者が既にアップロードしていた場合は、その変更を自身のリポジトリに取り込む
git pull origin
#### (衝突があれば解消する) ####
git add -A .
git commit -m "衝突があった場合は手動でコミットする"
# その後、改めてpushする

確認・履歴

# 現在のブランチの確認や、変更のあったファイルの一覧
git status

# コミットの履歴を表示
git log

# コミットの履歴を簡単に表示
git log --oneline

# コミットの履歴を図で表示
git log --oneline --graph

# `.gitignore`で実際に無視される予定のファイルを確認
git ls-files -oi --exclude-standard

もしもの時に

# すべての変更を取り消して直前のコミットの状態に戻す
git reset --hard
git clean -df

その他

# Gitの監視対象のフォルダを削除したい場合
git rm -r フォルダ名/

# リモートのパスを変更する
git remote set-url "リモート名" 新しいパス

# コミットにタグを付ける
git tag 7.4.0
git push --tags

Gitの初期設定

# ユーザー名とメールアドレスを登録する。
# `git log`の`Author`欄などに反映される。
git config --global user.name "宮崎 雄策"
git config --global user.email "toumin.m7@gmail.com"

# ファイルを比較する際、パーミッションの違いについては無視する
git config core.filemode false

余談: おすすめの動画

GitHub公式のGit入門動画です。
なぜこの動画の再生数が少ないのかが分かりません。
こんなにおしゃれで、分かりやすくて、英語の勉強にもなって、例示の端末画面が大きくて見やすい動画は、なかなかないと思います。