こんな人が対象
-
これだけは押さえておきたいGitの仕組みを読んだが、
サーバー絡みのところが書かれていなくて結局使いこなせない
サーバーの仕組みも基本は難しくない(かも)
- 以下の説明は簡単のために細部を思い切ってはしょっているので、
正確でない記述も含まれています
ローカルリポジトリとリモートリポジトリ
- ローカルリポジトリ(ローカル)
ローカルの開発環境にある.gitフォルダが、
コミット/タグ/ブランチを管理している - リモートリポジトリ(リモート)
サーバーにも.gitフォルダがあり、
ローカルリポジトリと同様コミット/タグ/ブランチを管理している - ローカルとリモートの間でコミットをアップロード/ダウンロードしてやり取りする
- SourceTreeで見ると1つのコミットグラフ上で
ローカル/リモート両方のコミット/ブランチが確認できる
※名前が「origin/」で始まっているブランチがリモートブランチ
リモート関連の操作
- クローン
リモートリポジトリを丸ごとダウンロードしてローカルリポジトリを作成する - フェッチ
SourceTreeに表示されるリモートの状態を最新にする
ローカルの状態には影響を与えない - チェックアウト
通常はブランチを切替えるだけだが、リモートブランチをチェックアウトした場合、
ローカルブランチがなければ作成し、リモートブランチのコミットをダウンロードする - プル
作業中ブランチのリモートに新しくできたコミットをローカルにダウンロードする - プッシュ
作業中ブランチのローカルに新しくできたコミットをリモートにアップロードする
リモートにブランチがなければ作成する
注意点
- とりあえずフェッチ
ローカルが古い状態のままで作業を進めると、
マージの際にコンフリクトを起こしやすくなる等あまりいいことがないので、
何か操作をする前にはフェッチをして、リモートの状態を確認するのがおすすめ - チェックアウトとプル
リモートブランチをダウンロードする操作は、ローカルブランチの有無によって
「なければチェックアウト、あればプル」という使い分けが必要
ローカルブランチのアップロードに関してはプッシュしかないので使い分けは不要