チーム開発をするにあたって、最低限必要なコマンドを学習用にまとめました。
前提となるGitの仕組みと各コマンドの意味を理解して、それらを適切に使ったら、コンフリクトは発生しなくなった。
#Gitが管理するファイルの3つの段階
ローカルにおいて、Gitはファイルのバージョンを管理するにあたって、ファイルを3つの段階に分けて扱っている。
##①作業エリア
・開発者がファイルの変更を行った段階
・まだGitは変更を管理してない
##②ステージングエリア
・変更が登録される準備段階
・git addされた段階
##③ローカルリポジトリ
・変更がリポジトリに登録された段階
・git commitされた段階
#gitコマンド
###git status
・Gitの状態を確認する
###git add ファイル名
・指定したファイルをリポジトリに追加する
・指定されたファイルはステージングエリアに格納される
###git commit
・addで追加されたファイルをリポジトリに保存する
・コミットの段階でファイルの記録が保存される
###git branch ブランチ
・ブランチを作成する
・引数がない場合はブランチ一覧と現在のブランチが表示される
###git branch -D ブランチ
・ブランチを削除する
###git checkout ブランチ
・ブランチを移動する
###git clone コピー元のリポジトリ (コピー先ディレクトリ)
・リポジトリの複製
・予めクローン先のディレクトリを作成し、そのディレクトリに移動してコマンド入力するか、コピー先のディレクトリを指定する
###git pull origin リモートブランチ
・ローカルブランチにリモートブランチの内容を取り込み、ローカルブランチをリモートブランチに同期させる
・同期させたいローカルブランチで行う
###git push origin リモートブランチ
・リモートブランチにローカルブランチの変更を送る
・変更を反映させたいローカルブランチで行う
###git merge ローカルブランチ
・ローカルブランチ同士を結合させる
ブランチAにブランチBを結合させたい場合
$ git checkout A #ブランチAに移動
$ git merge B #ブランチBをブランチAに結合
#まとめ
どのブランチで作業をしているのか?
ファイルの状態はどうなっているか?
をgit branch、git statusコマンドで確認しながら、必要な操作をしていけばコンフリクトはそうそう発生しないはず、、、
参考
https://qiita.com/wann/items/688bc17460a457104d7d