Skip to content

Instantly share code, notes, and snippets.

@yu-tang
Created June 21, 2011 08:47
Show Gist options
  • Save yu-tang/1037479 to your computer and use it in GitHub Desktop.
Save yu-tang/1037479 to your computer and use it in GitHub Desktop.
vanillaforums-ja の Garden リポジトリ作成手順
vanillaforums-ja の Garden リポジトリ作成手順
===============
以下、基本的には Windows 版の Git Bash 上での操作を前提とします。
`git push` の対象を現在のブランチのみに限定するため、以下の設定を行っておくことを推奨します。
git config --global push.default tracking
参考:[見えないチカラ: 【翻訳】あなたの知らないGit Tips](http://keijinsonyaban.blogspot.com/2010/11/git-tips.html "見えないチカラ: 【翻訳】あなたの知らないGit Tips")
ローカル リポジトリの初期化
---------------------------
ディレクトリを作成します。
これは別に GUI で作っても構いません。というか、Windows OS だったらふつうに Windows エクスプローラ上で作成するでしょう。
mkdir vanillaforums-ja
カレントディレクトリを移動します。
cd vanillaforums-ja
リモート リポジトリをローカルに複製します。
git clone git@github.com:vanillaforums-ja/Garden.git
途中で SSH 公開鍵の入力を求められます。
ネットワークの状態にもよりますが、オブジェクト数が多いのでデータの取得にはあるていど時間がかかります。
これで Garden リポジトリを複製できました。
続いて、Garden リポジトリに移動します。
cd Garden
リモートの一覧を確認します。
git remote -v
こんな感じの出力でした。
origin git@github.com:vanillaforums-ja/Garden.git (fetch)
origin git@github.com:vanillaforums-ja/Garden.git (push)
当たり前ですが、`origin` しかありません。
本家からもプルしたいときがあるので、リモート `hq` (本家) を追加 (直接プッシュすることはないので、git プロトコル指定) します。
git remote add hq git://github.com/vanillaforums/Garden.git
リモートが正しく追加されたか確認してみます。
git remote -v
以下のように出力されたら、正常です。
hq git://github.com/vanillaforums/Garden.git (fetch)
hq git://github.com/vanillaforums/Garden.git (push)
origin git@github.com:vanillaforums-ja/Garden.git (fetch)
origin git@github.com:vanillaforums-ja/Garden.git (push)
以下で、`master` ブランチと `unstable` ブランチを本家に同期させます。
まず現在のブランチを確認。
git branch
以下のように出力されたら、`master` ブランチをチェックアウト中で OK です。
* master
この状態で、本家の `master` ブランチから変更を取得して rebase します。
git pull --rebase hq master
次に、`unstable` ブランチへ移動します。
git checkout unstable
念のため、現在のブランチを確認します。
git branch
以下のように出力されたら、`unstable` ブランチをチェックアウト中で OK です。
master
* unstable
この状態で、本家の `unstable` ブランチから変更を取得して rebase します。
git pull --rebase hq unstable
`master` ブランチへ戻ります。
git checkout master
念のため、現在のブランチを確認します。
git branch
以下のように出力されたら、`master` ブランチをチェックアウト中で OK です。
* master
unstable
ブランチの作成
--------------
まず現在のブランチを確認します。
git branch
ちなみに、リモート追跡ブランチを表示するには `-r` を、ローカルとリモート両方のブランチを表示するには `-a` を付けます。
下記のように出力されることを確認。
* master
unstable
`master` ブランチから、日本語版用の `master-ja` ブランチを作成します。
git branch master-ja master
ブランチが作成されたことを確認します。
git branch
下記のように出力されることを確認します。
* master
master-ja
unstable
続いて、`master-ja` ブランチから、日本語版開発用の `develop` ブランチを作成します。
git branch develop master-ja
ブランチが作成されたことを確認します。
git branch
下記のように出力されることを確認。
develop
* master
master-ja
unstable
`master-ja` ブランチに移動します。
git checkout master-ja
現在のブランチを確認します。
git branch
以下のように出力されたら、`master-ja` ブランチをチェックアウト中で OK です。
develop
master
* master-ja
unstable
ローカルの変更をリモートへ反映させる
------------------------------------
ふつうにプッシュしてみました。
git push
結果は、こんな感じ。
Total 0 (delta 0), reused 0 (delta 0)
To git@github.com:vanillaforums-ja/Garden.git
56c76f6..f95e9b2 master -> master
c4f4c47..b236228 unstable -> unstable
リモート上にあるブランチだけ、プッシュされています。
`master-ja` や `develop` ブランチは、ローカルにしかないので反映されないらしい。
そこで、`master-ja` ブランチを指定してプッシュしてみます。
その際、追跡のセッティングも自動で行ってみることに。
参考:[見えないチカラ: 【翻訳】あなたの知らないGit Tips](http://keijinsonyaban.blogspot.com/2010/11/git-tips.html "見えないチカラ: 【翻訳】あなたの知らないGit Tips")
$ git push -u origin master-ja
Enter passphrase for key '/c/Documents and Settings/YU-TANG.NCC-1701/.ssh/id_rsa':
Total 0 (delta 0), reused 0 (delta 0)
To git@github.com:vanillaforums-ja/Garden.git
* [new branch] master-ja -> master-ja
Branch master-ja set up to track remote branch master-ja from origin.
成功したので、続いて `develop` ブランチも同様にプッシュしてみます。
$ git push -u origin develop
Enter passphrase for key '/c/Documents and Settings/YU-TANG.NCC-1701/.ssh/id_rsa':
Total 0 (delta 0), reused 0 (delta 0)
To git@github.com:vanillaforums-ja/Garden.git
* [new branch] develop -> develop
Branch develop set up to track remote branch develop from origin.
以上で準備完了です。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment