プロジェクトの新規作成
はじめに_
GitLabではプロジェクト(リポジトリの管理単位)はユーザあるいはグループに所属して作成される。程研究室では以下の方針で使い分ける。
- グループ所属のプロジェクト:卒業研究、修士研究、博士研究で開発しているソフトウェアのソースコードやマニュアル、設定ファイルなど
- ユーザ所属のプロジェクト:その他のファイル
卒業・修了後に後輩に引き継ぐものはグループ所属のプロジェクトで管理し、自分しか使わないものはユーザ所属のプロジェクトで管理すること。
迷った場合は後藤に相談すること。
プロジェクトの作成_
GitLabにログインする。すると以下の画面になる。「New project」をクリックする。

以下の画面が表示されるので情報を入力する。「Project name」はプロジェクトの名前。アルファベットで入力すること。「Customize repository name?」をクリックし、リポジトリの名前を決める。ここを自分で入力しない場合は、プロジェクト名からリポジトリ名が自動生成される。「Visibility Level」は個人で使うプロジェクトの場合は「Private」で良い。情報を入力し終わったら「Create project」をクリックする。

すると、以下の画面が表示される。GitLabで管理しているリモートリポジトリに変更が反映されるまでこの画面が表示される。ローカルリポジトリの変更をリモートリポジトリに反映させる方法は次の節以降を参照のこと。

1つ以上プロジェクトを作成しているとログイン後の画面が以下のようになる。

ローカルリポジトリの作成(Linux)_
今までGitでソースコードを管理していない場合_
今までGitでソースコードを管理していない場合は、ローカルリポジトリを新規に作成し、作成したものをGitLabで管理しているリモートリポジトリにも反映させる。
~/.ssh/configで登録したGitLabのホスト名が aise-gitlab であり、 GitLabで管理しているローカルリポジトリのURLが git@hogehoge.jp:gotoh/MyRepo.git であるとき、以下のように設定を進める。
まず、ローカルリポジトリを作成する。
% cd % mkdir MyRepo % cd MyRepo % git init
Gitでは必ず利用者情報(名前とメールアドレス)を登録しなければならない。どのローカルリポジトリにおいても共通の名前とメールアドレスを登録するのであれば以下のようにコマンドを実行する。
% git config --global user.name "自分の名前(アルファベット)" % git config --global user.email "GitLabのログインに使うメールアドレス"
現在のローカルリポジトリだけでこの名前とメールアドレスを登録する場合は以下のようにする。
% git config user.name "自分の名前(アルファベット)" % git config user.email "GitLabのログインに使うメールアドレス"
ローカルリポジトリにファイルを追加し、その変更をリモートリポジトリに反映させる。注意点としてはGitLabのFQDN(ホスト名+ドメイン名)部分を aise-gitlab に変えるという点。
% touch README % git add README % git commit -m 'first commit' % git remote add origin git@aise-gitlab:gotoh/MyRepo.git % git push -u origin master
リポジトリの登録に成功するとプロジェクトのトップページは以下のようになる。

既にGitでソースコードを管理していた場合_
既存のローカルリポジトリに登録されているリモートリポジトリをGitLabで管理されているものに切り替える。
~/.ssh/configで登録したGitLabのホスト名が aise-gitlab であり、 GitLabで管理しているローカルリポジトリのURLが git@hogehoge.jp:gotoh/MyRepo.git であるとき、以下のように設定を進める。既存のローカルリポジトリをExistingRepoとする。
まず、リモートリポジトリが登録されているかどうかを確かめる。
% cd ExistingRepo % git remote -v origin ~リモートリポジトリのURL~ (fetch) origin ~リモートリポジトリのURL~ (push)
上記のようにfetchとpush先のリモートリポジトリが表示されない場合は、そもそもリモートリポジトリが登録されていない。この場合は以下のように登録する。注意点としてはGitLabのFQDN(ホスト名+ドメイン名)部分を aise-gitlab に変えるという点。
% git remote add origin git@aise-gitlab:gotoh/MyRepo.git
fetchとpush先のリモートリポジトリが表示されている場合は、リモートリポジトリを設定しなおす。
% git remote set-url origin git@aise-gitlab:gotoh/MyRepo.git
どのローカルリポジトリにおいても共通の名前とメールアドレスを登録するのであれば以下のようにコマンドを実行する。
% git config --global user.name "自分の名前(アルファベット)" % git config --global user.email "GitLabのログインに使うメールアドレス"
現在のローカルリポジトリだけでこの名前とメールアドレスを登録する場合は以下のようにする。
% git config user.name "自分の名前(アルファベット)" % git config user.email "GitLabのログインに使うメールアドレス"
ローカルリポジトリをリモートリポジトリにpushする。
% git push -u origin master
リポジトリの登録に成功するとプロジェクトのトップページは以下のようになる。

ローカルリポジトリの作成(Windows)_
今までGitでソースコードを管理していない場合_
今までGitでソースコードを管理していない場合は、ローカルリポジトリを新規に作成し、作成したものをGitLabで管理しているリモートリポジトリにも反映させる。
GitLabで管理しているリモートリポジトリのURLが git@hogehoge.jp:y_gotoh/MyRepo.git であるとき、以下のように設定を進める。
作業ディレクトリを C:\MyRepo に作成するとする。まずは、CドライブにMyRepoというフォルダを作成する。次に作成した MyRepo に移動する。

C:\MyRepo のウィンドウにて、マウスの右ボタンをクリックする。すると以下のウィンドウが開く。「Git ここにリポジトリを作成」を選択する。

すると、以下のウィンドウが開く。「OK」をクリックする。

以下のメッセージがでて作業ディレクトリ(Gitで管理するフォルダ)が作成される。

ReadMe.txt というファイルを作成し、何か適当な文章を書いて保存する。
次にこのReadMe.txt がGitに管理対象であることを伝える。 ReadMe.txt を選択した状態で、マウスの右ボタンをクリックする。すると以下の表示になる。「TortoiseGit」→「追加」を選択する。

すると、以下のウィンドウが開き、追加するファイルの一覧が表示される。「OK」をクリックする。なお、Gitでは空フォルダを管理対象にはできないので注意すること。

次に以下の画面が開く。Gitの管理対象となっているファイルを編集した際に、編集結果をGitに保存するためには「コミット」という作業をしなければならない。これは、ファイルやフォルダを新たに付け加えた際にもコミットをしなければならない。以下のウィンドウの「コミット」ボタンをクリックする。

もし、まだユーザ名とメールアドレスをTortoiseGitに登録していない場合は、以下のメッセージが出る。

ユーザ名とメールアドレスをTortoiseGitに登録するときには、まず「ローカル」を選択し、次に「名前」「メールアドレス」欄の「引き継ぐ」のチェックボックスを外す。その後、「名前」と「メールアドレス」を入力する。
なお、Gitは編集履歴をこの「名前」と「メールアドレス」を用いて管理している(つまり、名前とメールアドレスが同じならば、同じ人が編集したと記録される)。
「名前」にはGitLabで登録している名前、「メールアドレス」はGitLabにログインする際のメールアドレスを登録する。
入力したら「OK」をクリックする。

コミットを行う際には、必ずその変更に関するメモを入力しなければいけない。以下のウィンドウのメッセージ欄に今回の変更についてのメモを入力する。たとえば「This is first commit.」入力したら、「OK」をクリックする。

すると、コミットの進捗状況が以下のウィンドウで表示される。今回は、コミットが終了したら「閉じる」をクリックする。

次にGitLabで管理しているリモートリポジトリを登録する。以下の画面のように「設定」を選択する。

設定画面で「リモート」タブをクリックする。すると以下の画面のようになる。「URL」にGitLabで登録しているリモートリポジトリのURLを登録する。今回の例では git@hogehoge.jp:y_gotoh/MyRepo.git が該当する。「Putty認証」の項目は、GitLabへの公開鍵の登録:Windows環境(puttygen.exe)を用いた鍵ペアの作成で作成した秘密鍵 secret.aise_gitlab.ppk を選択する。そして、「新規に追加/保存」をクリックする。

以下の画面がでるので「No」をクリックする。そして、「OK」をクリックする。

続いて、ローカルリポジトリの変更をリモートリポジトリへ反映させる。C:MyRepoフォルダで右クリックし、「Git同期」を選択する。

以下の画面がでるので「プッシュ」をクリックする。パスフレーズの入力が求められるのでGitLabへの公開鍵の登録:Windows環境(puttygen.exe)を用いた鍵ペアの作成で入力したパスフレーズを入力する。

無事プッシュに成功すると以下の画面になる。「閉じる」を押す。

リポジトリの登録に成功するとプロジェクトのトップページは以下のようになる。

既にGitでソースコードを管理していた場合_
ソースコードを管理していたフォルダに移動し、ユーザ名、メールアドレス、リモートリポジトリの変更を行う。「設定」をクリックする。

ユーザ名とメールアドレスをTortoiseGitに登録するときには、まず「ローカル」を選択し、次に「名前」「メールアドレス」欄の「引き継ぐ」のチェックボックスを外す。その後、「名前」と「メールアドレス」を入力する。
なお、Gitは編集履歴をこの「名前」と「メールアドレス」を用いて管理している(つまり、名前とメールアドレスが同じならば、同じ人が編集したと記録される)。
「名前」にはGitLabで登録している名前、「メールアドレス」はGitLabにログインする際のメールアドレスを登録する。
入力したら「適用」をクリックする。

続いて「リモート」タブをクリックする。すると以下の画面のようになる。「URL」にGitLabで登録しているリモートリポジトリのURLを登録する。今回の例では git@hogehoge.jp:y_gotoh/MyRepo.git が該当する。「Putty認証」の項目は、GitLabへの公開鍵の登録:Windows環境(puttygen.exe)を用いた鍵ペアの作成で作成した秘密鍵 secret.aise_gitlab.ppk を選択する。そして、「新規に追加/保存」をクリックする。
その後「OK」をクリックし、設定を反映させる。

ローカルリポジトリの内容ををリモートリポジトリにPushして反映させる。
リポジトリの登録に成功するとプロジェクトのトップページは以下のようになる。
