近年、プログラム開発者やWebデザイナの間では GitHub が公開・情報交換用のハブサイトとして利用されている。広瀬の開講する科目では GitHubと互換性の高いGitBucketを利用する。 本学での学習用に GitBucket サーバを解放しているので、 ここにアカウントを作成しプログラム作成の履歴・プロジェクト管理のために利用する。
既にアカウントを作った記憶がありパスワードを忘れた場合は広瀬に連絡する。
一度つけたユーザ名は変更できず消せないのでよく考える。
https://www.yatex.org/gitbucket/ にアクセスし、 以下の手順でアカウントを作成する。パスワードは1回のみの入力なので誤入力がないよう気をつける。
ログインすると、このサーバで開発されているものの最新ダイジェストが出る。 これがホーム画面である。右上にプラス(+)ボタンと小さなアイコン画像がある。 プラスボタンの脇の▼を押し、
New repository
を選ぶ。
Create a new repository A repository contains all the files for your project including the revision history. Owner Repository name [yuuji/ ▼] / [ ] (*)Public ( )Private ( )Create an empty repository (デフォルトここだが下にする) ( )Initialize this repository with an empty cmmit (*)Initialize this repository with a README ( )Copy existing git repository
のように出る。
ここでは、リポジトリ操作の練習のため、
既存ファイルは、テキストであればファイル名をクリックし、
鉛筆ボタンで編集できる。
README.md を編集してみる。
[(Code)][ Preview ] ←2つのボタンを切り替えて編集する
編集画面 : : :
Commit changesここに修正の要点を1行で入れて下の右側Commit changesを押す
[Cancel][Commit changes]
[Commit changes]を押さないと編集は破棄される。
新規ファイルはリポジトリのファイルを足したいディレクトリを開いている状態で
【+】ボタン(手入力の場合)か雲のアイコンを押す。
GitBucketサーバのリポジトリにHTML文書を置くと、 特定のURLでWebページ公開できる。ここでは、master ブランチをWeb公開する設定を示す。
サインインした状態でリポジトリを開く。
Source gh-pages branch master branch master branch /docs folder None
これで docs/ ディレクトリの中に index.html を開始点とした Web 空間が作成できる。リポジトリ本体のURLと公開WebのURLの関係は以下のとおり。
リポジトリ: https://SERVER/USER/REPO/ 公開WebURL: https://SERVER/USER/REPO/pages/
このURLをREADME.mdからリンクしておくと閲覧者が見やすくなる。 README.mdに以下のようにリンクを張る。
[Webページ](../../pages/)
GitBucket の Web 画面での操作ではファイルの移動や名前変更ができない。 すべての操作をするにはリポジトリを手元のディレクトリにコピー(クローン) して操作する。
自分のリポジトリが
https://www.yatex.org/gitbucket/user/repo
だと仮定して、それをクローンして手元PCで編集、commit して push、
という流れの操作をダイジェスト的に説明する。
なお、以下の例では手っ取り早く「HTTPSでの接続」を示すが、 本格的に作業をする場合は「学習・研究ファイルのリポジトリ化について」を参照して 「SSH での接続」を設定したほうが断然効率的である。 以下の作業がうまく行ったらそれを試すとよい。
最初に一回だけやる。 操作を繰り返しておかしくなったらここからやり直したりもする。
まずブラウザで自分のリポジトリを開く。上の方に
[ HTTP▼ ] [ https://www ] [ ← ]
のようなURLをコピーするボタン(Copy to Clipboard)がある。 一部見えている https://www... の部分をマウスでトリプルクリックして URLをコピーする。続いてターミナル画面で以下のようにコマンド起動する。
git clone ここにコピーしたURLを貼り付ける
貼り付けるときは マウスの真中ボタンクリック か Ctrl-Shift-V あるいは Command-v をタイプする。
カレントディレクトリにリポジトリ名のディレクトリができる (この例ではrepo)。
まず、クローンしたディレクトリに移動する。
cd repo
毎回忘れずに、GitBucketサーバ上にある更新を取得する。
git pull
クローンしてきたディレクトリ内のファイルを編集して保存したら commit する。編集したファイルが file-1 と file-2 だとしたら以下のようにする。
git commit -m "どう変更したのか" file-1 file-2
ファイルを追加したら add する。
git add 追加ファイルの名前 git commit -m "○○ファイルを追加"
これは git コマンドでないとできない。
git mv OldName NewName git mv File-1 File-2 移動先ディレクトリ git commit -m "○○を△△に変えた"
最初にpullする。
git pull
このときにサーバ側にも更新があったときは「マージ」作業が始まり、 急に画面が以下のように変わることがある。
Merge branch 'master' of /tmp/g/1 into master # Please enter a commit message to explain why this merge is necessary, # especially if it merges an updated upstream into a topic branch. # # Lines starting with '#' will be ignored, and an empty message aborts # the commit.
このときは、2箇所での更新を交ぜている。ZZ と大文字Zを2回タイプし て完了させる。
問題がなければサーバに送る。
git push
「マージ」に関しては、「マージと衝突」を参照すること。もしよくわからなくなって git push がどうしてもうまく行かなくなったら、手元のリポジトリディレクトリを消して クローンからやり直すとよい。
cd .. rm -rf repo git clone https://サーバ上のリポジトリURL……