Posts Tagged ‘Git’
gistページにraw masterへのリンクを追加するGreasemonkey
gistに置いたファイルの最新版を常に参照するraw masterなURLが最近変更されたり、昔使えた方法が使えなくなっています。
詳細は以下を参考に
以前はURLに.txtとつければよかったので、特に何もしなくても不便はしなかったのですが、2011年6月15日現在はraw masterなURLへのURLにするにはちょっと書き換える量が多いのでGreasemonkeyを書きました。
gistのページのファイル名の横にraw master URLへのリンクを追加するGreasemonkeyです。
Scriptishの場合は、リンクをクリックするだけでクリップボードにURLをコピーします。
この仕様変更により、Greasemonkeyで.txtでrequireしてたりするスクリプトは新しくインストールすると死んでいると思うので確認が必要になるかもしれません。
Windowsでのコマンドライン環境はConsole2+nyaosで
この記事は主にConsole2の紹介とnyoasのLua拡張についての話です。
Windowsのコマンドプロンプトはとても使いづらいので、コマンドプロンプト代替ツールとしてckwと拡張性が優れたNYAOS(昔はnyacus)などのシェルを合わせて使ってる人もいると思います。
自分も少し前まではckw-mod+NYAOSを使っていました。
現在はタイトル通りConsole2+NYAOSにしています。
ckwやConsole2はターミナルに該当するソフトウェアで、nyaosやgitbashなどはシェルに該当するソフトウェアです。
Console2でnyaosを使うのは簡単で、Settings>ConsoleのShell(またはタブ毎の設定)にnyoas.exeのパスを入れるだけで完了です。
Console2の機能紹介
タブ
Console2の特徴してはタブを持っていることがあげられると思います。 ![]()
また、タブ毎に設定を行う事ができ、色や背景画像の設定やシェル(nyaosなど)に使うソフトウェアの指定をタブ毎に決定することができます。
日本語表示
以前は日本語がダメだったようですが、現在ver2ではフォントを日本語のものにすれば、日本語の表示も問題なく行えます。(フォントによってはおかしくなるけど)
- Console2 ! – k_maruの思うところ(今はやらなくていい設定、Console2のフォントだけ設定すればOK)
- Console2とnayosの組み合わせが使いやすい – アウルキャンプ・ラボダイアリー (設定方法)
ウィンドウの透過
ckwでよく紹介されてる機能としてウィンドウの透過機能があると思います。
Console2でもウィンドウの透過機能があります。
この透過機能はアクティブ、インアクティブの時それぞれの透明度を設定できるので、フォーカス外れているときだけ透過するなどもできます。
マウスやホットキーの設定
Console2はホットキーだけではなくて、マウスの動作、左クリックや修飾キーとマウスの組み合わせなどの挙動も設定できるので、結構細かい動作を決められると思います。
WIndowsのデフォルトであるようなCtrl+Cでコピー、Ctrl+Vでペーストなどの設定もできるので便利です
これで簡単なConsole2の機能紹介は終わりです。設定はかなり豊富なので自分好みにできると思います。
まあタブがあるだけでもかなり魅力的なターミナルです。
nyoasの設定
nyaosはUNIXライクな日本語拡張コマンドラインシェルで、とても軽くて、作者さんは日本人(@zetamatta)の方なので日本語の扱いも問題ありません。
- NYAOS を使おう! (ちょっと内容古いけど)
キーバインドやコマンドのエイリアスなどを設定して、入力履歴を残せるを保持できるようにするだけでも十分使い勝手がよくなります。
それに加えて、nyaos 3.xの特徴としてLua言語でのカスタマイズ機能あります(シェルスクリプトが書ける)
Lua拡張は_nyaのconfigファイルにもLua_eを使って書くこともできますが、拡張と設定は別ファイルに分けた方がいいと思います。(エスケープの問題とか面倒だし)
自分の場合は_nya_git.luaという感じで拡張毎のluaファイルを作成して、_nyaコンフィグファイルからsourceコマンドで読み込んで使っています。(拡張のテストするときもsourceで再度読み込めば適応されるのでデバッグしやすい)
source D:\Software\nyaos\_nya_git.lua
gitのサブモジュールの削除が一発でできるようにgit submodule rmというコマンドを勝手に足したり、NYAOS 3000でいろんなコマンドのサブコマンドを補完する – メモ@wantoraにgitコマンドを追加したものなどが入っています。
Lua自体はコンパクトな言語で、若干JavaScriptに似てる感じもあるので調べながらやればなんとか書けるものだと思います
nyaosのLua拡張の書き方は以下を参考にしました。
- Readme.txt(nyaos_ja.txt)
- MHI 3.1
- [nyaos] – メモ@wantora
Windowsのコマンドライン環境自体はこんな感じで比較的いい感じにできると思いますが、実行できるコマンドの方が貧弱なのでそっちでVMでLinuxを使うみたいな事もあるかもしれません…(まさに自分…WindowsからVM上のLinuxをSSH経由で利用する開発環境の構築 | Web scratch)
WindowsからVM上のLinuxをSSH経由で利用する開発環境の構築
VirtualBox orVMWare PlayerでLinux環境をWindows 7×64に構築するメモ
今回はVirtualBoxとTurnkey Linux coreを使って構築した。
と見せかけて、最終的にはUbuntu Server使う事にしたので途中まで飛ばしていいです。
なんでVMを使ってまでやるかというと
WIndowsでのCUIはConsole+NYAOSでコンソールとしていいのですが、node.jsなど実行できないものが出てきたので、VM上に環境を作ることにしました。
Cygwin : 食わず嫌いでしたが、食ったら嫌いでした。
coLinux : 64 bitが非対応でした。
必要なもの
- VirtualBox(仮想化ソフトウェア)
- TurnKey Core(サーバー、そこら辺の便利なソフトが入ってる感じのディストリビューション)
- RLogin(SSHクライアント)
Turnkey Linux coreはVM向けにovf形式でも配布してるので、OVFと書かれてるリンクからturnkey-core-バージョン-lucid-x86-ovf.zipをダウンロードして使う。
VirtualBoxを起動してメニューの仮想アプライアンスのインポートから、先ほどのovfをインポートすると自動でTurnKey Coreが仮想マシン一覧に並ぶ。(設定するのは仮想マシンの名前ぐらい)
起動するとパスワードの設定などがあって、パスワード以外はEnter押してればいいと思う。
設定が終わると起動して下のようなメニュー画面が表示される。
メニューを終了させると、CUIで操作できるけどキーやマウスの関係で扱いにくいのでSSHからアクセスして操作する。
RLoginを起動して、サーバの接続から新規追加して、プロトコロルにSSH、アドレスにはLinuxサーバーのIPアドレス、ユーザーはrootで、パスワードは最初の起動時に設定したものを入力して接続する
こっからはサーバー{ゲスト側(Ubuntu)}の設定
まずはrootだとあんまりよくないので、ユーザー(azuという例で)を追加、そのユーザーのパスワードを設定する。
root@core ~# useradd -m -s /bin/bash azu # ユーザーazuを追加する。mオプションがないとHOMEディレクトリが追加されなかった root@core ~# ls /home/ azu/ # HOMEディレクトリがあるのを確認 root@core ~# passwd azu # パスワードの設定 Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully
後からログインシェルを決める場合はchsh -s /bin/bash などとする。
Ubuntu Serverを使って環境構築(改めて)
- VirtualBox(仮想化ソフトウェア)
- Ubuntu Server (ゲストOS)
- RLogin(SSHクライアント)
ホストOS | ゲストOS |
Windows 7 64bit | Ubuntu Server |
任意のポートだけを開く感じで使えるのでこっちの方がいい気がします。同様の方法でWebのポートである8080もポートフォワーディングに設定しました。
- VirtualBox + CentOSでNAT接続のポートフォワーディングを行う方法 – 大人になったら肺呼吸
- VirtualBox4.04にCentOS5.5をインストール – sdhrの日記
- VirtualBox 4.0.2のゲストにsshで接続してみる。 « chocokanpan BLOG
注意点としては18.サーバーソフトウェアの選択画面でOpenSSH SERVERを選択してSSHでつなげるようにしておくと楽でいいです(スペースキーで選択チェックが入る)
忘れた場合でも
sudo apt-get install openssh-server
サーバのIPアドレスは
ifconfig
で、わかると思います。
初期設定なら、インストール時に入力したアカウントとパスワードでログインできると思います。
SSHで鍵を使って接続
セキュリティ的にパスワードではなく鍵でSSHをつなぐのが普通だと思うので、SSHの鍵設定をします。
root@core ~# cd /home/azu/ # ユーザのHOMEへ root@core /home/azu# mkdir .ssh root@core /home/azu# cd .ssh # .sshディレクトリを作って移動 root@core azu/.ssh# ssh-keygen -t rsa # 鍵を生成する Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): turnkey # ファイル名は適当に Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in turnkey. Your public key has been saved in turnkey.pub. root@core azu/.ssh# ls turnkey turnkey.pub # .sshディレクトリに秘密鍵と暗号鍵が生成される root@core azu/.ssh# mv turnkey.pub authorized_keys # turnkey.pub を authorized_keysにリネームする root@core azu/.ssh# ls authorized_keys turnkey
RLoginにファイル転機能がついてるので、.sshディレクトリにある秘密鍵(turnkey)をホスト側に移動させます。
ゲスト側(Ubuntu)に秘密鍵は置いておく必要はないので、秘密鍵(turnkey)は転送したら削除します。
# それぞれをnoに書き換える
PermitRootLogin no
PasswordAuthentication no
UsePAM no
# 面倒だったので一度rebootした自分はportも22から適当なものに変更しました。
が大変参考になった。
まずは適当な共有フォルダを設定しておく。
そして、起動してるVMのメニューにある”Guest Additionsのインストール”を押しておく。
何にも起きてないように見えるが、CDドライブにCDが入った感じになる。
sudo apt-get install build-essential linux-headers-`uname -r` sudo apt-get install xserver-xorg xserver-xorg-core #必要なものを先にインストールしておく ################### # ここまでにGuest Additionsのインストールを押してマウントの準備が必要 ################### mkdir /tmp/cdrom sudo mount /dev/sr0 /tmp/cdrom # Guest Additionsのディスクをマウントする cd /tmp/cdrom sudo bash VBoxLinuxAdditions.run --nox11 sudo addgroup --system --quiet vboxsf sudo usermod -a -G vboxsf azu # ユーザーをvboxsfグループに加える sudo reboot # リブート azu@ubuntu:/media$ ls cdrom sf_azu
リブートすると/media以下にsf_フォルダ名が現れてアクセスできるようになる。
VirtualBoxをタスクトレイに入れて管理するにはVBoxHeadlessTrayがおすすめ。ヘッドレスモードやシャットダウンとなどの操作もタスクトレイで行えるのでとてもいい。
ついでにNode.jsの環境も作ってみる
Node.jsは直接入れるよりもバージョン管理するツールから入れるのがいいらしいので、naveかnvmを使う事にした。
naveは何かインストールが面倒だったので、nvmを使う事にした。
nvmは自動でnpmもインストールしてくれるので便利。
azu@ubuntu:~$ sudo apt-get install build-essential libssl-dev git-core azu@ubuntu:~$ sudo apt-get install curl # 必要なものを先にインストールしておく azu@ubuntu:~$ git clone git://github.com/creationix/nvm.git ~/.nvm azu@ubuntu:~$ cd .nvm/ azu@ubuntu:~$ bash ./nvm.sh azu@ubuntu:~$ nvm install latest # 最新のnodeをインストールする azu@ubuntu:~$ node -v v0.4.5
毎回 bash ./nvm.sh 実行するのは手間なので。
.bashrc を編集して、
. ~/.node/nvm.sh nvm use latest
を書き加えておきます。
- SummerWind – Node.jsの管理はnvmで
- naveでNode.jsのバージョン管理&イベントループ詳説(1/3)- @IT
- Amazon EC2 MicroインスタンスのAmazon LinuxにNodeをインストールした – 自分の感受性くらい
雑記
VMWareはスタートアップにいろんなもの生やすし、ダウンロードも登録必要で面倒なので、VMWareよりもVirtualBoxの方が好みでした。
目標としては、Cygwin HereみたくWindowsのエクスプローラー上のコンテキストメニューから、SSHクライアントを開いてそのときに同時に共有フォルダのsf_azu以下にある同じフォルダまで移動したいのだけど、お客様の中でよい方法をお知りな方がいらしゃったらお願いします。
e.g)
windows : C:\Users\azu\Downloads のコンテキストメニューからSSHクライアントを開く
Ubuntu : 渡されたパスを元に /media/sf_azu/Downloads をカレントディレクトリにする
SSHクライアントのマクロみたいので実現するのかな。
今使っているWebStormプラグイン
PHPStorm/WebStormプラグインはまだ余り数がないので拡張性はそこまで高くないのですが(JetBrains製IDEで互換性があれば良いのに)、幾つかプラグインを入れてるので紹介
プラグインはSetting->Pluginから検索すれば全部出ると思います
- Markdown
名前の通りMarkdown記法のシンタックスハイライトに対応するプラグイン。
WebStorm内でプレビューも行えるため、Githubのreadme.mdを書くときにものすごく便利
デフォルトだとFile Typeに*.mdがないため(今は入ってるかもしれない)、mdファイルを開いても有効にならないことあるので、File Typeで*.mdがを追加すると有効になる。
- FavoriteFolders
WebStormはJava製なためかファイルダイアログがOS標準とは違うため、目的のフォルダまで移動するのが面倒くさい。
FavoriteFoldersはファイルダイアログに任意のフォルダまでのショートカットを付けてくれるプラグイン。 - Scratch
Alt+C, Alt+Cで一時的に何か書いておけるtxtファイルを開いてくれる。
わざわざファイルを追加するのは面倒だし、そこにファイルが残ってしまうので地味に便利 - CoffeeBrew
CoffeeScriptに対応してくれるプラグイン
シンタックスハイライトなどは対応してるけど、補完などはできないのでちょっといまいち - Pomodoro-tm
Pomodoro Technique的なタイマープラグイン。
25分タイマーで計って5分Breakタイムのような設定ができるぐらいで普通のタイマーと変わらないです。
時間忘れていじってしまうのを防止
今のところこれぐらいです。 (あまり数がないのもあるけど)デフォルトでもかなり機能的に優秀なのでそこまで不便はしないですね。
おまけ
WebStormが今春のキャンペーン中で半額で購入できるようになってるみたいです。(今回は他のIDEはなってなかった)
是非この機会に触ってみるといいかもしれません。
- WebStorm & PhpStorm Blog » Blog Archive » 50% OFF personal WebStorm licensesi
- http://blogs.jetbrains.com/webide/2011/04/50-off-on-personal-webstorm-licenses/
WindowsでV8 JavaScriptエンジンをコンパイルする
Windows VistaでV8を使いたかったのでビルドしたときのメモ
準備編
- Pythonをインストール(ActivePythonでもいいけど)
- SConsをインストール(PythonのMakeみたいなものらしい)
- Visual C++ 2010 Expressをインストール(本当はSConsだけでもいいけど、必要なWindows SDKが内蔵されてるので楽)
- git か svnがあるとV8のダウンロードが楽
実践編
(X / _ / X <は$みたいなプロンプトです)
バージョンの確認コマンドも打ってますが、How to Download and Build V8 – V8 JavaScript Engine – Google Codeでソフトウェアの必要なバージョンが載っています。
多くの例ではsvnで
svn checkout http://v8.googlecode.com/svn/trunk/ v8
としてv8をダウンロードしているみたいですが、githubに公式ミラーがあるので今回はそれを利用しました。
X / _ / X < git clone git://github.com/v8/v8.git v8 Initialized empty Git repository in D:/Software/v8/.git/ remote: Counting objects: 53075, done. remote: Compressing objects: 100% (7672/7672), done. remote: Total 53075 (delta 46205), reused 51859 (delta 45179) Receiving objects: 100% (53075/53075), 25.18 MiB | 749 KiB/s, done. Resolving deltas: 100% (46205/46205), done. Checking out files: 100% (1426/1426), done. X / _ / X < python -V Python 2.6.4 X / _ / X < scons --version SCons by Steven Knight et al.: engine: v2.0.1.r5134, 2010/08/16 23:02:40, by bdeegan on cooldog Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
ここまでで準備は終わり、次はビルドとテスト
sconsの引数はよく分からなかったのでBuildを見てscons d8としました。
X / _ / X < cd v8 X / _ / X < scons d8 #ビルド X / _ / X < tools\test.py #テスト [13:26|% 100|+ 4599|- 3]: Done
特に環境パスの引数なしでも通ったのでシンプルにしていますが、手動でパスを通す場合は大変なので”C:\Program Files\Microsoft Visual Studio 10.0\VC\vcvarsall.bat”などのbatファイルを使うとよいかもしれないです。
- v8をビルドしてみました – とりあえずメモメモ。
- Compiling v8 on Windows 7
- BuildingOnWindows – v8 – Detailed instructions for building V8 on Windows. – V8 JavaScript Engine – Google Project Hosting
最後にベンチマークを取ってみて終了
X / _ / X < cd benchmarks\ X / _ / X < ../d8 run.js Richards: 7311 DeltaBlue: 9098 Crypto: 8762 RayTrace: 6707 EarleyBoyer: 12664 RegExp: 1440 Splay: 2193 ---- Score (version 6): 5521
これで、Windows上で使えるV8(d8)のバイナリ作成ができたので終わり
毎回d8.exeまでのパスを入力するのは大変なので、バイナリの場所までRedmond Pathを使ってパスを通しています。
BPStudy#41のアウトラインメモ
BPStudy#41に参加してきたのでメモってた内容。
TwitterはTogetter – 「BPStudy#41 まとめ」にまとまっています。
^文殊堂
第一部 – RequireJSとeventとUIコンポーネント
BPStudy#41 RequireJSとeventとUIコンポーネント – 文殊堂
RequireJS実践編
jQuery カスタムイベント応用編
粗結合のUIコンポーネントの作成について
RequireJS実践編
RequireJSとは何か?
AMDのブラウザ向けの実装
RequireJS moduleについて
defineでモジュールを定義する。
requireはmain関数みたいなもの。
define – 第一引数に依存してるモジュール、第二引数に中身
(第一引数に関数オブジェクトを渡すと関数の返値になってしまう)
moduleの用途
関数を返すmoduleを定義すれば、関数として使えるmoduleが作れる。
副作用
何も返さないmoduleも有効利用できる
jQueryをextendしてるmoduleを作れば、requireしたときにその拡張してるという保証が存在するため有用になる。
RequireJS本体の前にrequireというグローバル変数があると、RequireJSの設定として認識される
baseurl
module名はpathから拡張子をのぞいたものだけど、pathの基底を変更できる
paths
pathを探す場所をkey-valueで決められる
urlArgs
読み込むjsファイルに指定したパラメーターをつけることができる。(キャッシュ対策)
deps
最初から読み込んでおきたいファイルを決めておける
text plugin
文字列として取得できる
テンプレート的な利用
jQuery カスタムイベント応用編
カスタムイベントはブラウザ定義ではなく独自定義のイベント
jQueryはtrigger,triggerHandlerなどで、イベントの発火ができる(dispatch event)
カスタムイベントは豊かな表現が行える
jQueryはbindでイベント名とイベントハンドラをくっつける
trigerの第二引数に配列を渡すと展開されて渡した状態でイベントハンドラを実行する
data(“属性” , “値“)をつけられる
イベントハンドラの$(this)==evt.target
カスタムイベントでClassを定義する
liveを利用する。
liveは要素ではなくて、CSSセレクタに紐づけることができる。
カスタムイベントでmixin
liveを使ってるので、classを追加するとメソッドを生える
カスタムイベントでcallback
liveを登録して、callbackをcallする代わりにtirgerでイベントを発火させる。
カスタムイベントでmixout
classを追加することでmixinになるため、classを除去すればmixoutできる。
カスタムイベントで同名の関数を呼び出す
存在しない関数も呼んで大丈夫
好きなだけ定義できる
第二部
マスタリング非同期読み込み – os0x
Twitterでも非同期処理やってるけど、本文が表示されるのが最後なので遅い感じがする。
LAB.js
部分的な導入が難しい。
全体を書き換える必要がある。
ControllJS
<script type=”text/cjs”></script>としてtypeを変えて読み込む。
Controll側で評価する
RequireJS
依存がネストすると非同期にできない。
依存関係が複雑だと、読み込み待ちが発生する。
解決方法として、テキストとして読み込んでおいて評価する。とか
whatwgのwikiにいろいろな手法が乗っている。
第三部
gitの歴史改変について – 神速
BPStudy#41で発表しました #bpstudy – アジャイルSEを目指すブログ
分散SCMの基本的なこと
ネットワーク環境がなくても作業できる
誰かが壊しても問題ない
歴史改変でできること
不要な変更のコミット修正
コミットメッセージの修正
作業途中のコミット
適当なコミットを行える
git add -p
部分変更を記録するコマンド
対話式で部分コミットを行える
git rebase -I
コミットの変更、結合、削除とか
歴史改変の実践編
bisect テストが失敗してるところを2分探索するコマンド
デモ
間違いを打ち消す git revert
過去のコミットを打ち消す
改変世界からの復帰 – reflog
コミットを移動させたり
歴史を変えてはいけないコミット
人のは変えてはいけない
自分の黒歴史だけ
感想
椅子オンリーだったので、膝上PCつらい。
途中でキーボードがトラブった。
カスタムイベントは何か冗長だけど、今後よく使う方向になりそうな予感がするのでいろんな使い方がでてきそう。
また機会があったら参加したいですね。
Node.jsで動作するHTML5+JavaScript製のIDE「Cloud9」
Node.jsで動作しブラウザから使用できるJavaScript IDEである「Cloud9 IDE」 alpha版が公開されました。
ブラウザから使用できるので、クラウドとかありきたりな名前が付いてる気がします。(+Plan9?)
Win/Linux/Macで動作するようです。
インストール方法(Windows)
詳しい使い方はajaxorg’s cloud9 at master – GitHubに書いてあるので読むといいです。
まずはダウンロードですが、githubではzipでソースをダウンロードできますが、それではなくgit cloneしてダウンロードする必要があるみたいです。
というわけで、gitをインストールした状態でコマンドプロンプトから
$ git clone git://github.com/ajaxorg/cloud9.git
するとcloud9のディレクトリができるので、binフォルダに入っているcloud9-win32.batを実行すると必要なファイルをどんどんダウンロードしてくれます。(インストーラーみたいで面白い)
ダウンロードが終わってもう一度cloud9-win32.batを実行すると http://localhost:3000 にアクセスするように促されるので、FirefoxやChromeなどでhttp://localhost:3000にアクセスすればCloud9 IDEが使用できます。(別途にNode.jsをインストールしてなくても動作した)
まだα版なので、ファイル管理とエディタとコンソールぐらいしかありませんが、ブラウザ上でこういうものが動いてるのは面白いです。エディタはBespinとかと同じく日本語入力が残念仕様です。
最近BespinはSkywriterというプロジェクトへと移行したので、そのうちエディタに変化が起きるかも知れませんね。
入力したコードはNode.js上で実行されてるような気がします。JavaScriptを書いてその場で実行やデバッグができるのは普通のIDEとしてはよくありますが、JavaScriptなIDEとしては面白いですね。
通常のソフトウェアとしてのJavaScript IDEを使いたい人はJavaScript対応のIDEをまとめてみた | Web scratchを参照するとよいと思います。(今WebStorm凄いよ状態でいろいろ試しています)
gistへGreasemonkeyを貼るときに自動でファイル名を入力するスクリプト
GistにGreasemonkeyスクリプトをペーストする時に、自動でファイル名を入力してくれるGreasemonkeyを書きました。
入力されるファイル名は@nameの要素+.user.jsとなるので、コードをペーストするだけでRawからインストールできるようになります。
// @name gist fill in fileName automatically
という感じで書いてあったなら、gist fill in fileName automatically.user.jsというファイル名が勝手に入力されます。
Add another file…で追加したテキストエリアにも対応させてあります。
gistのトップページ( http://gist.github.com/ ) と編集ページで動作します。
- gist fill in fileName automatically for Greasemonkey
- http://userscripts.org/scripts/show/71914
Gitでレポジトリのclone
前回Gitを導入できたのでどのように使うのかをメモっておく。
- Gitを始めるまでにやったことのまとめ | Web scratch
- http://efcl.info/2009/0919/res1311/
レポジトリのclone
- gitでforkなどを経験してみた(またはwassr2twitterを導入) – ただのにっき(2009-05-14)
- http://sho.tdiary.net/20090514.html
gitで他人のレポジトリをcloneするには”fork”ボタンを押してforkをする必要がある。
そうしたらこんな感じでYour Clone URLというのが表示されるので、そのコマンドを実行すればローカルにcloneできる。
![sshot-2009-09-19-[15-47-24] sshot-2009-09-19-[15-47-24]](http://efcl.info/wp-content/uploads/sshot-2009-09-19-15-47-24-300x72.png)
たとえば最新リビジョンだけを取得したい場合、「–depth 1」と指定する。
$ git clone –depth 1 <複製したいリポジトリのURL>
depthを決めることでリビジョン(今までにコミットされた更新履歴)の深さを指定できる。
ここでcloneしたもののpush先は自分のレポジトリが設定されているので、自由にpushできる。
元々のレポジトリの管理者に自分のパッチを取り込んでもらうなら、自分のリポジトリページから「pull request」をおしてリクエストするという仕組みらしい。
他人とのやりとりは以下のが参考になる。
- アリスとボブのコラボレーション、gitをちゃんと理解したい! – ザリガニが見ていた…。
- http://d.hatena.ne.jp/zariganitosh/20080908/1220881938
Gitを始めるまでにやったことのまとめ
Gitをというよりバージョン管理システム自体をちゃんとやった事がなかったのでGitを導入してみることにした。
Gitは分散型バージョン管理システムで最近流行っているそうだ。




