コンピュータやソフトウェアのあれこれ@道民(&元道民)
git
homebrewのgitに乗り換えました
1月 15th
今までは、普通にバイナリ配布のものを使ってたんですが、
実際は、Xcodeに付いてきた方を使ってました。。。
という訳で、とりあえず既存のgitをアンインストールします。
もちろん、使われていないバイナリ配布からインストールした方です。
これは、そのバイナリ配布のdmgファイル(*1)に同梱されている
uninstall.shを実行するだけです。
.gitconfigは削除されないのでご安心を。
とは言うものの、この時点では何も変わらない訳で、
こっからが本番です。
$ brew install git
これがコケまして。。。
$ brew update
これもコケまして。。。
https://github.com/mxcl/homebrew/issues/5128
どうやら、これみたいですが、
結局のところ、「brew update」でググるといろんな方が解決策を載せてますので、
そちらを見た方がいんじゃないかなーって思います。
で、こんな感じで解決しました。
$ cd /usr/local/
$ git remote add origin git://github.com/mxcl/homebrew.git
$ git fetch origin
$ git reset --hard origin/master
$ brew update
あとは、こんな感じ。
$ brew install git
で、このままだとXcodeのが使われちゃうので、
.bash_profileに以下を追加。
export PATH=/usr/local/bin:$PATH
で、exportがあってもなくても良さげなのですが、
このexportって、変数を環境変数にするって意味なんでしょ?
なら、すでに環境変数のはずだから、この場合は不要ってこと?
その辺がよく分かってないので、この辺から勉強することにします。
おしまい。
(*1) 本来は、インストールされてるgitのバージョンを調べて、
同じバージョンのdmgに同梱されているuninstall.shを使うべきですが、
今回は最新のバイナリ配布dmgに入ってるものを使ってしまいました。
[git][planet]Git勉強会 in livedoorさんに行ってきました
3月 10th
@lestrratさんに誘われて、livedoorさんの社内勉強会でお話してきました。id:perlcodesampleさんが来社された時の資料を20%くらい使い回した資料ですが、公開しておきます。
これでまとまった資料が出来たので、札幌とかで勉強会が開催されることになっても安心して出張できますね!
Snow LeopardにGitを入れてみた
1月 2nd
MacBookにGitを入れてみました。
OSは、MacOS 10.6.5です。
インストールは簡単。
すでにビルド済みのバイナリが上がっているので、
DLして.pkgからインストールしました。
「git-osx-installer」で検索すると出てきます。
ちなみに、インストールしたのはこちら。
git-1.7.3.3-x86_64-leopard.dmg
例によって、すでにプロジェクトがgithubにあったので、
読み取り専用パスをgit cloneして、
git guiからSSHを設定して、GitHubに設定しました。
ハマりどころは、SSHキーをGit Guiのヘルプから生成したのですが、
パスフレーズを入力するウィンドウが隠れてフリーズしたかと思いました。
しかも、確認のための2度目の入力も同じ現象が起きます。
SSHの公開鍵さえ出来てしまえばこっちのもので、
読み書き可能なSSH認証ありをgit cloneで再取得して、
git push origin masterまで確認しました。
でも、このGit Guiは日本語でコミットログが書けなかったです。
他にもいろいろgitクライアント(?)があるみたいなので、
少し調べてみようと思います。
おしまい。
Gitを使ってみました
12月 5th
Gitって知ってますか?知ってますよね!
そう、バージョン管理ソフトの一つです。
(私は、最近、具体的な内容を知ったばかりデス)
普段、会社では、SVNを使ってるので、
Gitとは縁遠いと思っていたのですが、
この度、GitHubに登録することになったので、
WindowsXPにインストールしてみました。
と言っても、XP on bootcamp(iMac)なので、
純粋なWindows環境ではありません。
まずは、msysGitをDLしてインストールしました。
あまり、難しいことは分かりませんが、
コマンドプロンプトじゃない方の設定でインストールしました。
次に、Git Bushを立ち上げます。
私の環境だと、デスクトップにアイコンが存在していたので、
ダブルクリックで起動させます。
あとは、コマンドプロンプトだと思って操作します。
さっそく使ってみましょう!
と言っても、何から始めたらいいのかな?
そんなあなたには、GitHubがオススメ。
まずは、ユーザー登録して新規プロジェクトを追加します。
ここまでは、GitHubのサイトで出来ます。
すると、幾つかのコマンドを入力するように指示されます。
そのコマンドを一つずつ入力すれば良いのですが、
どこに入力するの?
もちろん、Git Bashに入力するのですが、
ここでちょっとまって!
というのも、GitHubのサイト上ですでにプロジェクトは作成済みなのです。
やるべきことは、READMEを追加するところから。
そして、もう一つ!
まだ、ローカルのmsysGitは設定していませんね!
なので、まずはいきなりGUIではなく、
Git Bashを使って追加したプロジェクトをDLしてみましょう。
登録時のユーザ名:user
作ったプロジェクト名:foo
この場合は以下の行が表示されていると思います。
git clone git@github.com:user/foo.git
この行以降を、Git Bashに入力することになります。
ですが、ここはぐっと堪えて、順番に行きましょう。
最初は、プロジェクトを配置するフォルダを作成します。
そこに、Git Bashで移動します。
mkdirコマンドや、cdコマンドを使います。
次に、git cloneコマンドを使います。
これで、GitHubのサイトに表示されていたうちの1つを入力しました。
次が山場です。
Git guiを使います。
私の環境だと、スタートメニューに追加されたgitに、
git guiが追加されていました。
もしくは、git cloneを実行したら、.gitフォルダが出来ているはずなので、
それを右クリックしたときのメニューにも、
git guiが表示されるかもしれません。
前者の場合は、「既存のプロジェクトを開く」を選択して、
.gitフォルダが格納されているフォルダを選択しましょう。
後者の場合は、すぐにウィンドウが開くはずです。
その次にやることは、gitの設定。
実は、先ほどのサイトに表示されていた最初の2行くらいは、
この設定を行うコマンドだったりします。
これをGUIを使って行います。
メインメニューの編集 – オプション…をクリック
(私は右側の大域を編集しました)
まずは、ユーザ名と電子メールアドレス。
次に、ファイル内のデフォールトエンコーディングをUnicode(UTF-8)に。
もちろん、これからコミットするソースも同じ文字コードでなければなりませんが、
これで、ブラウザで見ても日本語が正しく表示されるでしょう。
さらにもう一つやるべきことがあります。
それは、認証をSSHで行っているので、公開鍵を作る必要があります。
メインメニューの「ヘルプ – SSHキーを表示」をクリック
ないので作りましょう。
何文字かのキーワードを入力して、鍵を生成します。(2回同じ入力をしましょう)
このキーワードは、後ほど入力を求められるのでお忘れなく。
めでたく生成出来た公開鍵は、クリップボードにコピーします。
ちょうどいい所(左下)に、そういうボタンがありますので使います。
さて、これで公開鍵のウィンドウは閉じます。
次に、どこにペーストしたら良いか?
それは、GitHubのサイトの右上に、アカウントの設定があるはずなので、
まずは、そこをクリックします。
次に、SSH公開鍵が左に表示されているので、クリックします。
すると、公開鍵を追加できるので、適当な名前を付けて、鍵をペーストしましょう。
無事追加できましたか?
これで、準備は完了です。
先ほどの続きをしましょう。
READMEというファイルを追加するコマンドがあったはずです。
touch REAMEという行があったなら、
その行から続きをGit Bashに入力します。
そして、git push origin masterを入力した時に求められるのが、
先ほど、公開鍵を使ったときに入力したキーワードになります。
ここから先は、あなたのリポジトリです。
追加、変更、削除といった基本的なコマンドを試して、
git操作の練習をしてみましょう。
では、よいGitライフを!
[Planet][git]git サーバーの移行 – push できるように
10月 27th
以前書いた作業内容だけでは
リモートのリポジトリに push できないことがわかりました(苦笑)
ということで、リモートから push できるようにしたので
その備忘録して書いておきます
$ git push origin master Counting objects: 17, done. Delta compression using up to 2 threads. Compressing objects: 100% (14/14), done. error: pack-objects died of signal 13 error: pack-objects died with strange error error: failed to push some refs to 'git://hogehoge/fugafuga.git'
ご覧の通りエラーが出てます
書き込めないみたいです
http://d.hatena.ne.jp/basyura/20100305/p1
ここを見て、以下の最後の行ですね
- bare になってるリポジトリの所有者を変更しました
cd /var/repos sudo mkdir test.git cd test.git sudo git init --bare --shared=true chown -R gitdaemon . #<= push するため
git-daemon を動かすときに
- enable=receive-pack をしていると権限に関係なく
push できるとの記述もみかけましたが、
結局権限の問題で push できてなかったようです。
これでどこでも Tex の文章やらなにやらを書けるぞー
[git]社内勉強会資料「Git早わかり」
10月 22nd
YAPC前のことなのですが、id:perlcodesampleさんとちょっと縁があり、「Mojoliciousの話聞きたい」と無茶ぶりをしてみたら、なんと快諾して下さいました。そこで先日弊社にて社内勉強会を開催し、お招きしてトークをして頂きました。id:perlcodesampleさん、どうもありがとうございました!
話して頂くだけではなんなので、弊社からもトークを行いました。その際の発表資料を貼っておきます。早わかりってタイトルは嘘で、Gitリポジトリのモデルについて主に話しました。
[git][Ubuntu][Planet][aptitude]git サーバーの移行
10月 19th
github でもひどいスパゲッティーのような
コードをまき散らしている僕ですが,
もっといろんな意味で "見せられないよ"
なコードとか、文章とかは自鯖で git を動かして管理してました.
移行というか VPS で新たに動かしてみただけですが
一応メモとして残しておきたいと思います
http://d.hatena.ne.jp/n314/20091111/1257937482
とりあえずここを参考にさせていただいて
git-daemon-run
のインストールと設定ファイルをいじくりました
$ aptitude instal git-daemon-run $ locate git-daemon /etc/service/git-daemon /etc/sv/git-daemon /etc/sv/git-daemon/log /etc/sv/git-daemon/run /etc/sv/git-daemon/supervise /etc/sv/git-daemon/log/run /etc/sv/git-daemon/log/supervise /usr/lib/git-core/git-daemon (以下略)
$ vi /etc/git-daemon/run #こんな感じに変更して exec git-daemon --verbose --base-path=/var/cache/git --export-all --enable=receive-pack
リモートアクセスできないと思ったら DNS の問題だったorz