uzullaがブログ

uzullaがブログです。

WindowsでGit(オチだけ読めばいいです)

書いた通りオチだけよめばいいので、ヒマな人以外は最初にまとめを読もう。


「GitをWindowsでつかいたい」

Linuxを入れろ

「Gitを『Windowsで』使いたい」

そうかそうか

WindowsにあるGitの紹介

msysgit

http://msysgit.github.com/
基本ですね、Windowsに移植された、本物のGitです。
ただし、黒い画面ですので、デザイナーとかが穴という穴から液体を吹き出して死にます。

安心してください!msysgitにはGUIもついてます!!

…ティクルティケェ…


TurtoiseGit

http://code.google.com/p/tortoisegit/
TurtoiseSVNをおぼえていますか?アレです。
このExplorer統合という奴に親を殺された俺としては使いたくないのですが、まあ一番有名ですね。
というかTwitterで質問しても、これしか教えてもらえませんでしたね。

Github for windows

http://windows.github.com/
サイトもアプリも見た目もMetroスタイルです、いかにも最近っぽい。
所で、このサイトはIE8より前だとロクに表示できません、まあIE6とか7とか使ってる人がGitとか使うわけがないのでどうでもいいですね。
Githubという名前がついてて、いかにもGithub専用ですね、でもこれ実はそれだけじゃないんだよ!!


本題、Github for windowsをビッバケでつかう!!!!!

あきらかにこれをこの記事のタイトルにすべきですね、ブクマが稼げる(?)

まあ、とりあえずインストールしましょう。
http://windows.github.com/
からDLして、実行です。
途中、.netの4をいれようとしますので、入っていない場合は再起動が発生します。


再起動したら、多分デスクトップにアイコンが二つあります。

このGithubの方を開きます。



ひらいたらGithubのアカウントを入れろと言われますが、WindowsユーザーがGithubのアカウントなんてもってるわけがないし、キャンセルしましょう。



キャンセルの後で、Configを開いて名前とメアドだけ設定しておきましょう。(これはコミットするときの署名に使われるもので、Githubへのサインアップではない)

一旦横道へ

リモートレポジトリの準備をしましょう。
リモートレポジトリとは、まあWindowsの人にわかるようにいえば、Gitでコードをアップロードできるサーバーです。


勿論Githubがそれですし、自分で作成することも…いやWindowsの人には無理なんですが、Windows以外のUNIX系OSをつかっている人は…がんばれば作る事ができます。*1


そこでビッバケ、Bitbucket http://www.bitbucket.org/ ですよ。Bitbucketはタダでプライベートレポジトリが使えるーーつまりGithubをつかうと全世界に自分のテストすらかいてない小汚いコードをみせたり、なんかよく分からないエージェントから「Githubみました、転職してください」とかウザい電話やメールがかかってくる羽目になるわけですがーーそれをしないですみます。

どうやるか…サインアップしてがんばれ、サインアップできれば、多分わかる。


取り合えず、空のレポジトリをつくり、レポジトリ画面にあるHTTPSとかをクリックして、
git clone https://[email protected]/uzulla/testrepo.git
こんな感じのURLをどっかに控えておこう。

閑話休題

さて、横道にずいぶん逸れましたが、もどします。
さあこれで準備が整いました!Github for windowsにBitbucketのリモートレポジトリを追加しよう!!


最初の画面に戻ると、ローカルレポジトリと、Githubのレポジトリを選ぶ事ができます。
ただ、残念ながらここからリモートレポジトリを入れる所がありません…。
しかしながら、Github for windowsにはGitshellがついているのです。
Git Shellを起動しましょう!


「ぎゃぁッ!黒い画面だッ!!!」


憤死するのはちょっとだけ待って下さいね。

もしかして、以下みたいな赤文字がでてるかもしれません、まるで呪いの言葉みたいですね、英語だから読め(ま)ないし。

Windows PowerShell
Copyright (C) 2009 Microsoft Corporation. All rights reserved.

Resolve-Path : Cannot find path 'C:\Users\test\.ssh\id_rsa' because it does not
exist.
At C:\Users\test\AppData\Local\GitHub\PoshGit_820cc1fc129f0263723f2fed73bdc4d48
c2a9207\GitUtils.ps1:250 char:32

  1. $sshPath = Resolve-Path <<<< ~/.ssh/id_rsa

+ CategoryInfo : ObjectNotFound: (C:\Users\test\.ssh\id_rsa:Strin
g) [Resolve-Path], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.Resol
vePathCommand

これはsshのキーがないって文句いってるだけなので、今回はほっといていいとおもいます(やり方にもよりますけど、HTTPでGitするならいらないでしょう…)



いい加減長いので、駆け足で。


C:\Users\test\Documents\GitHub> cd c:\
C:\> mkdir repo

とりあえずこんな感じで、GitをDLしてきたり作業をする、ディレクトリの「一個上の」ディレクトリを作ります。

つづけて、さっきメモったコマンドを実行します、たとえばこんな風ですね。

C:\repo> git clone https://[email protected]/uzulla/testrepo.git
Cloning into 'testrepo'...
warning: You appear to have cloned an empty repository.

多分パスワードきかれますので、Bitbucketのパスワードをいれましょう。

成功したら、

C:\repo> cd testrepo

と実行したら、以下のようになります。

C:\repo\testrepo [master]>
(もし貴方が多少知識がある人なら、オって思うのではないでしょうかね?)

その後以下のようにタイプすれば、作業ディレクトリが開けますね。

C:\repo\testrepo [master]> start .


開いたディレクトリから一個上(C:\repo\)に上がり、その中にあるtestrepoをGithub for windowsのウインドウにドラッグアンドドロップしましょう。

Tadaaa!!やった!これでGithub for windowsにリモートレポジトリ追加できたよ!!!(^Д^)

ここから先の使い方

とりあえず
C:\repo\testrepo
にファイルとかつくってみたらいいんじゃないですかね、
そしたらGithub for windowsにもどって、追加されたレポジトリをひらきましょう。


するとこんな風に、追加したファイルが表示されます!
あとは右側にコミットメッセージをかいて、コミットだ!!!



やった!コミットできたよ!
いやこれだけでは駄目ですね、Pushしないと。
Pushはコミットしたファイルを、リモートレポジトリにアップロードする作業ですよ。


おもむろにPublishボタンをおしましょう。
結構時間がかかりますけど、その内成功します!


Push完了したら、Bitbucketのサイトにいって、Pushされたか確認しましょう!

pull

リモートレポジトリからDLしてくることをPullといいますが、まあSyncおしたらPullできます!


しかしながら、ちょっと残念な事にGithub for windowsは一回ホーム画面にもどって、もう一回レポジトリ画面をひらかないとSyncボタンがおせません。だるい。

やったねたえちゃん!!

これでリモートレポジトリを追加して、Commitして、Pushして、Pullできた!
他にもまあ色々あるけどまあがんばれ!


ここまで凄い長かった!こんな小ネタやるのになんでこんな長い事やる必要があったの!?

感動のまとめ!!

Github for windowsちょうつかいづらい!!!!速やかにアンインストールして、TurtoiseGitつかいましょう!!!!


後日追記:source tree (http://www.sourcetreeapp.com/) つかいましょう

でも

Msysgitのgit bashより、GithubのオマケについてくるGit Shellのほうがイケてる気がするなあ…。
PowerShellってのがいいよね…。
C:\repo\testrepo [master +1 ~0 -0 !]>
これはかなりオシャレ、すくなくともmsysgitより断然つかいやすい(あのBashは…)。


コマンドライン派のあなたこそ、Github for windowsを入れるべきですよ!割とまじで。

*1:マジレスすると、Webdavでもできる…ので、できないことはない…かもしれない…どうなんだろう