Git

Gitとは、分散リポジトリ管理を行なえるバージョン管理システムです。
これを使えば、普段はローカルリポジトリで管理して完成したら中央リポジトリにCommitという事が出来るので、まだサーバにCommitできないようなソースについても頻繁にCommitし、diffをみたり、Rollbackできたりします。(はず)

GitはRuby関係者が多く使っているらしいですが、最近SourceForge.jpのリポジトリもGitに対応したということで、一般的に使われて行くようになるかも?!?!

Gitをインストールする

MacOSX用にインストーラが用意されているのでこれを使用しました。
GoogleCode / git-osx-installer
インストールされた場所は /usr/local/git になってました。

パスを設定する

Gitのインストーラの中に含まれている 2 - Setup git PATH for non-terminal programs.sh を実行。
これを行なうと、/Users/{UserName}/.MacOSX/environment.plistに /usr/local/git/bin が追加されます。
追加しても直ぐには反映されないみたいなので、設定の反映を行なうために、一旦ログアウトしてログイン。

これで、ターミナルで git のパスが通っているはず。
git --version でバージョンが出てくるか確認します。

Configの設定をする

GitのConfigの設定をして行きます。
ここで行なう設定はGlobal設定というやつで、全体の設定になっています。プロジェクト毎に替えたい場合にはまた違う所で設定する必要がありますので、注意。

$ git config --global user.name "my name"
$ git config --global user.email my@example.com
$ git config --global color.diff auto
$ git config --global color.status auto
$ git config --global color.branch auto
$ git config --global color.interactive auto
$ git config --global color.ui auto

git config --list で設定した値が確認できますので確認しときましょー。

MacPortでもインストールできる

MacPortが入った環境なら、
  • $ sudo port install git-core
するだけで入ったっぽい。ちなみに、git-svnを使用するなら「+svn」を付加する。$ sudo port upgrade git-core +svnで後からgit-svnを追加する事もできる。bashの人はbash_completionもあると便利。
  • $ sudo port install git-core +svn +bash_completion

bash_completion を有効にする

  1. port installの時に +bash_completion してinstall.
  2. ~/.bash_profile に下記を追加
    # MacPorts Bash shell command completion
    if [ -f /opt/local/etc/bash_completion ]; then
            . /opt/local/etc/bash_completion
    fi

GitHubを使える状態にする

GitHubとは、ソースコードのHostingサービスでGit対応しています。
100MBまでならFreeで使う事ができます。ですが、Freeの場合はpublic公開のみになっていますので、外部に公開したくないソースの場合は有料になります。

まずはGitHubにてアカウントを作成しましょう。
更新はSSHで行なうので、公開鍵/秘密鍵を作っておく必要があります。アカウント作成時に鍵を作成する手順のリンクもありました。

次にリポジトリを作成して行きます。ログインした状態で、GitHubにいくと右上の方に以下の画像のものが見えるはず。

ここの、 create a new one のリンクをクリックします。

すると上図のような画面が出てきます。
ここでProject Nameなどを入れて、CreateRepositoryのボタンを押します。
私はwicketのテストプログラムを作るのに使いたいので、こんな名前ですが、もちろん何でもいいです。

そうすると、こんな画面がでてくるはず。

リポジトリが作成されました。下の方はこれから行なう手順が書いてあります。なんとも親切。
Global setupの所はもう既に設定済みなので、Next steps をやってみましょう。
自分の設定のコマンドになっているので、そのまま、その通り打って行けばいけちゃいますのでやってみてください。

最後の git push origin master をたたくと、以下のようなコンソールが表示されるはず。
Counting objects: 3, done.
Writing objects: 100% (3/3), 204 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@github.com:aqubi/wicket-sample.git
 * [new branch]      master -> master

ここまで出来たら、READMEというファイルがUpされているかどうか確認してみましょう。
リポジトリの画面に移動します。上図の画面でのリポジトリ名の所(wicket-sampleの所)をクリックします。
READMEのファイルがUpされてましたかー?


JGitのEclipsePluginを入れる

Gitを使って行くのにコマンドラインをたたくんですが、それはGit入門が詳しく書いてあります。
私はJGitというEclipsePluginで使ってみようとチャレンジ。

http://www.jgit.org/update-siteのUpdateサイトからインストールします。
Europaで入れようとしましたが、依存解決ができなかったのでジタバタせずにGanymedeでいれました。ドキュメントではEuropaでもいけるような事が書いてあるので本当の所は分かってませんが。

んでは早速つかってみます。んが自己流でやってるので遠回りな方法をしている可能性大!いい方法ご存知であれば教えてください。。。

  1. PackageExplore 右クリック→ Importを選択。
    Git / GitRepositoryを選択。
  2. Gitのサーバ接続先を設定する画面が表示されるので、URIに GitHubで表示されているリポジトリのCloneURLを記述。
    今回の例では、git@github.com:aqubi/aqubi-sample.git
    んで、Next.
    • AuthenticationペインのUser:はデフォルトのgitでおk。Password:には秘密鍵のパスワードを設定する。
  3. サーバのBranchが表示されるので、選択。今回は masterを選びました。
    んで、Finish.
  4. サーバーからファイルが落ちて来てもProjectとして認識されてないので、PackageExploreには表示されてません。
    なのでもう一度importの作業をします。
    ですがその前に。そのディレクトリに.project のファイルが無い場合にはプロジェクトとしてImportが出来ないので、作っておきます。
    Javaプロジェクトならば、以下の内容で大丈夫かと。
    <?xml version="1.0" encoding="UTF-8"?>
    <projectDescription>
        <name>master</name>
        <comment></comment>
        <projects>
        </projects>
        <buildSpec>
            <buildCommand>
                <name>org.eclipse.jdt.core.javabuilder</name>
                <arguments>
                </arguments>
            </buildCommand>
        </buildSpec>
        <natures>
            <nature>org.eclipse.jdt.core.javanature</nature>
        </natures>
    </projectDescription>
  5. もう一度、PackageExplore 右クリック→ Importを選択。
    今回は Existing Projects into Workspace を選択。
  6. ディレクトリには、先ほどサーバから落として来たディレクトリを指定します。んで、Finish.
    これでPackageExploreで表示できてるはず。
  7. プロジェクトをShareする
    作成したプロジェクトの右クリック→Team→ShareProject...を選択。
    RepositoryTypeの画面が出てくるので、gitを選択。
    ConfigureGitRepositoryの画面ではSearch for existing Git repository...のラジオボタンを選択してFinish.
    すると、プロジェクト名の右に [Git @ master]という文字が出て来て管理下になった様子。

これで多分プロジェクトは出来たはず。

ではpom.xmlのファイルを追加して、コミットしてみます。
ファイルを追加した段階ではこんな感じ


ここで、ファイルクリック→Team→Track(Add)を選択します。
そうすると、pom.xml に +マークがでてきます。

じゃーこれをCommitします。
Team→Commitを選択します。コメントをちゃんと書かないとダメみたいですよ。
Commit!
これで、ローカルのGitリポジトリにCommitされたはず。

じゃー次はGitHubのサーバにPushしましょー。
Team→Push to...を選びます。
こんな感じの画面がでてくるはず。GitHubのサーバの情報が既に選択状態になっているはずです。
この情報は、.git/config に書かれているため表示されるようになっています。よかったらファイルをのぞいてみてね。Next...


Source ref と Destination ref に対象のブランチを指定して,Add specをすると、下のテーブルに追加されます。
今回は master のものを選んで上図の形になっています。じゃーこれでいってみましょー。


いってみるとこんな画面が出てきます。これはPushした結果の表示ってことですかね。

じゃー、GitHubのリポジトリに更新されているかWEBページでみてみましょー。

いってるっぽいですな。よかった。

diffとかは良くわかってません。。。とりあえず、触ってみて何か分かったらまた補足していくことにします。。



Subpages (1): gitsvn
Comments