#Git Hubとのやりとりをする際に使うコマンド
####記載コマンドの種類一覧
remote
リモートの中身を確認する。
remote add
複数のリモートを持ちたい時。
featch
リモートからローカルのリポジトリに情報を落としてくるだけのコマンド。
merge
情報を統合する時に使うコマンド。
pull
fetchとmergeを同時に行うコマンド。
show
リモートの詳細を表示してくれる。
rename
リモート名の変更行う。
rm
リモートの削除を行う。
##リモートの中身を確認する時
git remote
#remoteの名称が表示される
git remote -v
#対応するURLを表示
##リポジトリを複数持つ時に使うコマンド
git remote add <リモート名> <リモートURL>
例:↓↓↓
git remote add tutorial https://github.com/user/repo.git
# tutorialというショートカットでURLのリモートリポジトリを登録できる
手順としては自分のgithubホームページに行って、
新しいリポジトリを作成
使い方としては、バックアップ用や別のリポジトリで開発したい時など
リモートリポジトリとして運用することが多い
##リモートから情報を取得する方法
大きく分けて二つの方法があるが、
使い分けすることが大切で、
ここも間違えると大変なことになることもあるので注意して使う
###fetchを使って取得する
git fetch <リモート名>
git fetch origin
このコマンドで行われていることで注意しなきゃいけない点は、
"リモートリポジトリ"から"ローカルリポジトリ"に情報が落ちてきているだけで
ワークツリーには何も影響が起きていないという点です
実際は、ローカルリポジトリの中の
remotes/リモート名/ブランチ名に保存されている
##ローカルリポジトリの情報をワークツリーに反映させたい時 ~> その1
git merge <リポジトリ名>/<ブランチ名>
git merge origin/master
#こうすることでoriginリポジトリのmasterブランチの情報をマージすることができる
中身を一応確認したい時は、ls
コマンドなどやcat
コマンドを使って確認したりすればOK
###ローカルリポジトリの情報をワークツリーに反映させたい時 ~> その2
git pull <リモート名> <ブランチ名>
git pull origin/master
#上記コマンドは省略可能で
git pull #でもOKで
#`pull`コマンドは下記のコマンドを一発で行っていることに注意
git fetch origin master
git merge origin/master
基本的にはフェッチを使うのがベター
なぜかというと、pull
コマンドの挙動が特殊だからです
仮に現在ブランチがmasterブランチとhogeブランチの二つあったと仮定して話しを進めます。
現在、masterブランチにいるとしてgit pull origin hoge
というコマンドを打ったとします
そこは、うまいことパソコンがhogeブランチに情報を統合してくれるかと思いきや、
なんと、ローカルリポジトリのmasterブランチに、リモートリポジトリのhogeブランチの情報を統合するという
挙動になってしまうからです。
ちょっと間違えてしまうと意図しない統合が行われしまい
大変なことになってしまう可能性もあります。
##リモートの詳細情報を表示したい時
git remote show <リモート名>
git remote show origin
表示される情報としては、
- fetchとpushのURL
- リモートブランチ
- git pullの挙動
- git pushの挙動などがある
##リモートを変更や削除する時
git remote rename <旧リモート名> <新リモート名>
リモート名を変更する際に使うコマンド
git remote rm <>リモート名>
リモートを削除する時に使うコマンド