linkerは「人と人」「人と情報」「人と物」をつなぐデザインユニットです。

GitをGUIで管理できるTowerを使ってPull Requestを受け取ってみる

110214.png

みなさん、こんにちは、まーしーです。
今日はバレンタインですね。こちらでは男性から女性にプレゼントを贈るのだとか。なるほどそういうルールとは知らずでしたので、来年こそはどうにかしたいところです。

さて、ソースコードの管理にgitを使ってる人も多いのではないでしょうか。ブランチとか細かい使い方について@rewさんに以前教えてもらったのですが、まだまだ使いこなしているとは言い難いところです。

そんな中、@tinybeansさんとGitHubでのやりとりの練習をしつつ、forkしてもらったのでそれをTowerで受け取ってみようかと思います。
Towerについては以前何回か書いてみました。

GUIでGitを使える「Tower」をさらっと触ってみた|linker journal|linker
/journal/2010/12/gitguitower.php  

TowerでGitHubをつかってみる|linker journal|linker
/journal/2010/12/towergithub.php  

ターミナルでやる場合はこちらを参考にしてこのままやれば問題無くいけます。

githubでpull requestもらったのでmergeしてみる - 狐の王国
http://d.hatena.ne.jp/KoshianX/20080616/1213581933  

今回の作業の流れもほぼこれと同じです。

Pull Requestの通知

まず、Pull Requestを受け取るとこのようなメールが届きます

110214-01.jpg

TowerでRemote Repositoryの追加

Towerをひらきます。
まずはforkされたリモートのリポジトリを追加しておきましょう

110214-03.jpg

110214-02.jpg

リモートのリポジトリはforkしてくれた@tinybeansさんのところにいくとわかります。

110214-04.jpg

問題無く追加されるとこのようにREMOTESのところにリポジトリが追加されます。

110214-05.jpg

Remote RepositoryをFetch & Pullする

次にREMOTEのリポジトリの内容をfetchします。

110214-06.jpg

FetchがおわったらPullします

110214-07.jpg

これでローカルのリポジトリを確認してみます。

110214-08.jpg

追加されてたファイルがコミットされていますね。

FetchしてPullしたときにファイルとかの中身を多分確認しないといけないのでしょう。。。
それをスルーしてPullするとこのようなかんじでコミットまでおわっています。

Historyを確認してみると変更を見ることが確認出来ますね。

110214-09.jpg

@tinybeansさんのイケメン写真が「commitよろしく!」と言ってるようですね。

最後にPushして終了

ということでここまでおわったらRemoteのリポジトリにPushして終了です。

110214-10.jpg

問題無くPushもおわればGitHub上でもこのように反映されていますね。

110214-11.jpg

ということで

今回はFetchしてすぐPullしたら即座にコミットされてしまっていたのですが、FetchしてPullする間にDiffをみてMergeするという流れがあると思います。
多分ローカルのリポジトリにブランチを切って一旦そこに持ってきた物をローカルでMergeするという作業になるのかな、と思います。

何も考えずに自分のブランチにPullしてしまいましたが1つのソースを色々編集してたりすると、Mergeするときに色々あるんだろうな、、とおもうので次やるときはもう少し手順を変えてやってみたいところです。

GitをさわるのにTowerを使った方がいいのか、Terminalでやったほうがいいのかなかなか判断に悩むところですが、ツールを使い分けて使いやすい方でそれぞれいければと思いますね。