Diagonal M

データサイエンス系長期インターンで学んだことなど

【Git】Git操作手順カンニングシート

データサイエンス系のインターン先で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 現在のブランチを、デフォルトのリモート追跡ブランチにプッシュする