今、ご縁で開発を手伝わさせてもらっておりまして(ほとんど見習いですが)、
その中で、開発マネージャーからこんな事を指示されました。
「GitLabのdevelopブランチにプルリクをしておいて」
たぶん、基本的なことなんでしょうが、やってみようと思うとつまづくところだらけでした。。。。
そこで、どこでつまづき、何を参考にして突破していったかを書いていきます!
##概要
今回は、Gitlabで次のことをやっていきます。
1)ssh keyで接続してmasteブランチをcloneする
2)Gitlabのブランチを分けて、リモートにマージリクエストをする
そいじゃ、やっていきましょう!
##1)ブランチをcloneしてローカルで編集
まずは、Gitlabにある任意のブランチをローカルに落としていきましょう。
まずは、アカウントを作成します(ここでは割愛するので、こちらをチェック:https://qiita.com/CUTBOSS/items/f4f5480b4e5c6d0026eb)
###SSH keyで接続
まずは、こちらの記事通りに書いていきました。
https://qiita.com/kyamawaki/items/07fb3332cf3c2f47728a
しかし、いざgit clone git@~と打っても動いてくれません!
エラーはこちらの通り
fatal: Not a git repository (or any of the parent directories): .git
これはググってみると、gitのセットアップができていなかった模様。
なのでこちらを打ってみました。
$ git config --global user.name "hogehoge"
$ git config --global user.email "hogehoge@gmail.com"
これを設定したら、晴れてcloneできました
##2)Gitlabのブランチを分けて、マージリクエスト
cloneしたあとは、ローカル上でのbranchはmasterになっています。
確認の仕方はgit branchでできます
$ git branch
* master
そこで、ここに任意のブランチを作成し、それをローカルに持って来て編集しましょう。
(masterをいじってはいけない事は、素人の僕にもなんとなくわかる、、、)
###ブランチを作成して、ローカルで動かす
まずはブランチを作成しましょう
このプラスボタン押して、new branchを選択したら作成する事ができます。
ただ、それだけではローカルで編集できるようになったわけではありません。
ローカルで選択されているブランチを切り替えるには次のコマンド。
$ git checkout [ブランチ名]
これでできます。git branchで確認してみましょう。
仮にtestってブランチを作ったとすると
$ git branch
master
* test
ってなってます。masterに変更する際は、また git checkout masterで戻ります。
###ローカルで編集した内容をリモートリポジトリに反映させる
上の作業でローカルで編集する事はできるようになったかと思います。
次は、色々やった編集をリモート先に反映させる作業です。
(addして、commitして、pushする作業ってこと)
たとえば、sample.htmlってファイルを追加した場合は
$ git add sample.html
って書きます。
(この時は、sample.htmlが格納されているフォルダ内でやること)
色々変更加えた場合は、
$ git add .
で変更したところを全てaddしてくれます。
*ちなみに、addとは作業してる場所からコミットするためにファイルを登録してる場所に追加することなんだとか、
ほいで、リモートリポジトリに登録するための場所に追加する事をcommitって言うんだって(参考:http://kray.jp/blog/git-why-explanation/)
そして、
$ git commit -m "[ここは何でもいい]"
で、コミット完了。そして
$ git push origin test //testブランチにプッシュする場合
でpush完了ということで変更とリモートへの反映が完了しました。
###マージリクエスト(プルリクエスト)をする
まず、わかりづらかったのですが、GitHubで言うところのpull requestは、GitLabではmerge requestと言います。
そして、その「merge request」のやり方を書いていきましょう。(略すと、マジリク??)
まずは、git labのページにいき
merge requestのボタンを押します。
最後に、どのブランチからどのブランチへマージしてほしいのかを記載します。
submitすればマージリクエスト完了です。
こんな感じで、GitLabでの新規登録から始まり、cloneという名の川を渡り、addという名の山を登り、マージリクエストへと至る旅は終わりました。
GitHubと似たところもあればそうじゃないところもあって、なかなか難しかったです。。。