ここでは,リモートリポジトリにあるGitで管理されたデータと,ローカルのパソコンとの間でデータをやり取りする方法について述べています.開発環境は以下のとおりで,すでにそれらの環境を整えてあるものとします.
- Gitサーバ: CentOS 8上で動作するgit
- Gitクライアント(CUI): Git for windows
- Gitクライアント(GUI): TortoiseGit
- 通信方式: git+ssh(公開鍵暗号方式)
- 秘密鍵をアプリへの配給: Pagent(Putty内のアプリ)
なお,設定方法は下記のページにあります.
- サーバ側(研究室員限定)
- クライアント側(研究室員限定)
次に示す手順で説明していきます.
- リモートリポジトリからデータを取得し,ローカルリポジトリにする
- ローカルリポジトリにおいて,ファイルを追加,削除,名前変更を行う
- ローカルリポジトリ内にコミットする
- ローカルリポジトリのデータをリモートリポジトリへ送る
- リモートリポジトリからローカルリポジトリへデータを取ってくる
1.リモートリポジトリからデータを取得し,ローカルリポジトリにする
リモートリポジトリからローカルリポジトリへデータを取ってくることをクローンといいます.GitではSVNとは異なり,リポジトリが分散しており,リモート,ローカルそれぞれにリポジトリを設置できます.このため,リモートリポジトリから同じものを持ってくる=クローンという言い方になるわけです.さて,クローンの作り方ですが,TortoiseGitの場合,クローンを設置したい場所で右クリックすると下のようなポップアップが現れます.この中の「Gitクローン(複製)」を選択しましょう.
クローンを作成するダイアログを下に示します.秘匿したおところは四角い色で塗りつぶしてあります.まず,黄色のところがユーザ名です.その後に続くオレンジのところががサーバー名,そして緑のところがリポジトリの置いてあるパス,青色のところがリポジトリ名です.リポジトリ名はローカルリポジトリと同じ名前になりますので,「ディレクトリ」の末端のパスも同じ名前になります.これらを記入し,最後に「OK」ボタンを押します.
以上のことにより,ローカルリポジトリが作成されます.
2.ローカルリポジトリにおいて,ファイルを追加,削除,名前変更を行う
次にファイルの追加方法について説明します.ここでは「追加ファイル.txt」を追加するとします.追加したいファイルを右クリックしますと,下の図のようにポップアップが現れ,その中にTortoiseGitがあります.さらにその中に追加というメニューがありますのでこれを選択します.
追加に成功すると下のようになります.
次に名前の変更をします.ここでは「コンテンツ用の図.pptx」を「ホームページ用の図.pptx」にするとします.ファイルを右クリックすると現れるポップアップメニューの中からTortoiseGitを選択し,さらにその中にある名前を変更を選択します.
次に下記のようなダイアログが現れますので,名前を変更して「OK」ボタンを押します.これで名前が変更されます.
最後に,ファイルの削除です.削除には2つの種類があり,1つはローカルもリポジトリもともに削除するもの,もう1つはローカルを保持しつつリポジトリから当該ファイルを削除するものがあります.基本的には先ほどの名前を変更した場合とほぼ同様に行えますので省略します.
3.ローカルリポジトリ内にコミットする
ファイルの操作(追加,名前変更,削除または変更)を行ったのち,kの作業をすることでローカルリポジトリに差分情報が保存されます.コミットしたいフォルダを右クリックすると,下のようにGitコミット -> "master"...というメニューが現れますので,これをクリックしましょう.
コミットに際し,メッセージを入れる必要があります.必ず,更新内容をメッセージを書くようにしましょう.そして更新内容を確認しましたら「コミット」ボタンを押してください.
下のようにコミットが行われます.くれぐれも言いますが,この段階ではローカルリポジトリへのコミットであり,リモートリポジトリへはデータを送っていません.この後に説明する,リモートリポジトリへのプッシュを忘れないようにしてください.
4.ローカルリポジトリのデータをリモートリポジトリへ送る
ローカルリポジトリにある情報をリモートリポジトリへもっていきましょう.この行為を「プッシュ」といいます.Gitでは前にも言ったようにリモートリポジトリとローカルリポジトリがあり,それぞれ差分情報を保持しています.ある程度ローカルで開発したソースをリモートリポジトリへ上げること,それがプッシュです.プッシュするには下の図のようにプッシュしたいフォルダを右クリックし,そこに現れるGit同期を選択します.
次に現れるダイアログにある「プッシュ」を押すと,リモートリポジトリへデータを送ってくれます.
成功しますと下のように,成功の文字が現れます.あとは「閉じる」ボタンを押せばおしまいです.
5.リモートリポジトリからローカルリポジトリへデータを取ってくる
リモートリポジトリの内容をローカルリポジトリに反映させることを「プル」といいます.引っ張てくるという意味ですね.先ほどのプッシュと同じように,取ってきたいディレクトリを右クリックし,Git同期を選択,その後現れるダイアログにある「プル」ボタンを押せばデータを取ってきてくれます.先ほどとほぼ同じ画面なのでそちらをご覧ください.
以上で基本的な動作についての説明はおしまいです.Gitにはここで説明した以外にプロジェクトをブランチ(枝分かれ)させたり,差分情報を閲覧したりと,いろいろなことが行えます.まずは上記のことをしっかり身に着けておいて,さらに深い使い方を試してみてはいかがでしょうか.