Gitはファイルの履歴を保管するシステム(バージョン管理システム)。言わば、ファイルのセーブポイントを作り、いつでもそこを参照したり、元に戻したりすることが出来る。
また、サーバ上にその履歴をアップロードし共有できる。
リポジトリ | ファイル履歴の保管場所。プロジェクト毎に作る。 |
ローカルリポジトリ | 自分のPCに作ったリポジトリ。 |
リモートリポジトリ | Gitサーバに作ったリポジトリ。 |
コミット | ファイルをローカルリポジトリに反映 |
プッシュ | ローカルリポジトリをリモートリポジトリに反映 |
プル | リモートリポジトリをローカルリポジトリに反映 |
Gitサーバにログインした状態で自分のリポジトリを作成する。右上の+ボタンを押し、New Repositoryを選択。
「Repository name」にプロジェクト名(例:Lesson)を入力。「Create repository」で作成。
作成後の画面でURI(最後が.gitのアドレス)をコピーしておく(via HTTPを右クリックし[リンクのアドレスをコピー])。
ローカルリポジトリの作成
まず、自分のファイルに変更がある場合には(プッシュでは無く)コミットすること。
そして、プロジェクトを右クリックし、[チーム]-[プル]を行い、自分のファイルを最新に更新する。
その後、自分の更新を反映するためにプッシュを行う。
プッシュ時、結果に「拒否」あるいは「reject」と出た場合にはプッシュに失敗している。
このような場合、他のユーザがサーバのデータを更新しているので、プルを行い、ローカルを最新に更新した後に、プッシュを行いサーバを更新する。
プルを行ったあとで、このような表示が出た場合にはお互いに同じ場所を編集してコンフリクト(編集の競合)が発生している。
この場合、両方の編集結果が反映されているので手動で片方だけに修正する(他の更新者と話し合うこと)。
その後、通常通りプッシュする。
(プッシュできない場合、競合修正したファイルを右クリックして、[チーム]-[索引に追加]を行う)
[チーム]-[プル]を行ったときに、このような表示が出た場合、プルする前に自分のファイルの「コミット」を行っていない。
この場合、まず「コミット」してから「プル」する。
このとき、競合が起きていたら上記のように修正する。
その後、「HEADのプッシュ」を行いサーバを更新する。
また、プルを行ったときにマージに失敗し「DIRTY_WORKTREE」という表記が出ているときには、対象ファイル(グレーのファイル)を削除してプルを行う。