データサイエンス系のインターン先でGitを使っていろいろ管理するらしく。Gitでの操作手順を自分用にまとめます。
Gitとは
誰がいつどのファイルの何を変更したかを管理してくれる。バージョン管理システムのこと。
いつ、誰が、どのファイルのどの箇所を、どういった目的で作成、変更、削除したかという履歴を残し、共有することができる。
過去の状態を確認したり、その時点に復元したりすることもできるため、誤って削除してしまったファイルも復元することが可能になります。
基本的な用語
- リポジトリ : ファイルの変更、追加、修正を管理する場所 。一般に1個のディレクトリ。
- リモートリポジトリ : みんなで共有するリポジトリ
- ローカルリポジトリ : 自分一人のリポジトリ
- コミット(commit) : 変更の履歴を記録する
- ブランチ : リポジトリで行う開発の経路
- ステージングブランチ : 開発の元となるブランチ、このブランチから各々ブランチを切って作業を進める
- マージ : ブランチをひとつにまとめる
- クローン : リモートリポジトリの内容をダウンロード
- プッシュ : ローカルリポジトリの変更履歴をリモートリポジトリへアップロードする
- プル : リモートリポジトリからローカルリポジトリへ変更履歴を取得する
操作手順
1.ソースのクローン(既存のリポジトリのコピーの取得)
git clone `url project_dir_name`
カレントディレクトリにリモートリポジトリで管理されているディレクトリが複製される
2.ディレクトリに移動し、アカウント名とメールアドレスを設定
cd project_dir_name
git config user.name "Diagonal-M"
git config user.email "diagonal-m@mail.com"
誰がコミットしたかがわかるようになる
3.ステージングブランチから作業用ブランチを作成してチェックアウト
git checkout -b dev
ブランチの作成とチェックアウトを同時に行う
4.作業用ブランチでファイルの追加や修正などを行う
git add .
git commit -m "コメント"
5.ステージングブランチを最新に更新する
git checkout staging
git pull
他のメンバーがすでにstagingブランチを進めているかもしれないので更新する
6. ステージングブランチをdevブランチにマージ
git checkout dev
git merge master
自分のブランチも更新する
7. devブランチをpush
git push
初めてpushするブランチの場合は下のようにする
git push --set-upstream origin dev
8. ステージングブランチにdevブランチをマージする
git checkout satging
git merge dev
9.stagingブランチをpushする
git push
よくつかうコマンドと使い方
コマンド | 説明 |
---|---|
git status | Gitに関するカレントディレクトリの状態を表示 |
git log | Gitリポジトリのログを表示 |
git add | ファイルをステージングエリアに追加 |
git commit | 変更をGitリポジトリにコミットする |
git branch -v | 詳細情報を付与した状態で、ブランチの一覧を表示する |
git checkout <ブランチ> | 作業ディレクトリを変更して、既存のブランチを反映させる |
git checkout -b | ブランチの作成とチェックアウトを同時にやる |
git merge <ブランチ> | ブランチをカレントブランチにマージする |
git diff | カレントディレクトリ内で追跡されているファイルと、リポジトリ内のファイルに変更があればそれをしめす |
git diff --name-only | 変更点を表示するときに、変更があったファイルのパスだけを表示してくれます。 |
git diff --word-diff | 差分を文字レベルで表示する |
git clone | ソースの位置にあるGitリポジトリのクローンを、複製先ディレクトリに、ペアリポジトリとしてつくる |
git pull | 自分のリポジトリを、複製元と同期させる |
git push | 現在のブランチを、デフォルトのリモート追跡ブランチにプッシュする |