前回の【Git】Gitの基本操作と基本コマンドの続きになります。
#リモート情報の確認
git remote
origin
詳細情報を表示。
git remote -v
origin https://github.com/hukushima/gitpr.git (fetch)
origin https://github.com/hukushima/gitpr.git (push)
##リモートリポジトリの複数登録
git remote add リモート名 リポジトリURL
originとは別のリポジトリを追加。
例
#github上でリポジトリを作成。
git remote add bak https://github.com/hukushima/git_bak.git
#追加できているか確認
git remote
bak
origin
#master情報をpush
git push -u bak master
##fetchコマンド
fetchコマンドを使ってリモートリポジトリからローカルリポジトリに情報を取得する。
※取得するだけで反映されるわけではない。
git fetch リモート名
例
git fetch origin
##mergeコマンド
fetchで取得したリモートリポジトリの情報を反映する。
git merge リモート名/ブランチ名
例
git merge origin/master
##pullコマンド
リモートから情報を取得してマージまで一気に済ませたい時に使う。
fetchとmerge同時にできる。
git pull origin master
#省略可
git pull
一気に済ませるから楽だけど、危険でもあるのであまり使わないイメージ。
##git remote show コマンド
git remote コマンドより詳細な情報が確認できる。
git remote show リモート名
例
git remote show origin
##リモート名の変更
git remote rename 旧名 新名
##リモート名の削除
git remote rm リモート名
#ブランチ
並行して複数機能を開発するためにある。
分岐して開発していくためのもの。
コミットを指し示すもの。
masterブランチはリリース専用ブランチにするのが基本。
##HEAD
現在作業しているブランチを指し示すもの。
##ブランチの新規追加
ブランチを新しく作成する。
git branch ブランチ名
##ブランチ一覧
git branch
#リモートのブランチも確認
git branch -a
ブランチがどのコミットを指しているか確認する。
git log --decorate
##ブランチを切り替える
git cheackout ブランチ名
#マージ
他の人の変更内容を取り込む。
git merge ブランチ名
git merge リモート名/ブランチ名
##コンフリクト
複数人で同じ箇所を変更してしまった場合、どれを優先させるべきかわからない状態。
###解決方法
変更が被った箇所が以下のように表示される。
HEADが変更した部分
<<<<<<HEAD
=====
他の人が変更した部分
>>>>>>otherbranch
どちらかの変更を削除してファイルを綺麗にする。
そもそもコンフリクトを起こさないのが一番なので、
mergeする前にcommitなどをして変更中の状態を無くしておくよう心がける。
##ブランチ名の変更
git branch -m ブランチ名
##ブランチの削除
git branch -d ブランチ名
#まとめ
次回に続きます。