Gitでリポジトリにリモートを追加するメモ

2013年03月30日

イマドキはバージョン管理くらい当たり前なのかなぁと思ってちょっと前にGitについて色々と調べたりしてみました。

ちなみにGitとは、さっきも言いましたがバージョン管理システムのことで、「いつ」「なに」「どんな感じに」変更したかを記録しておけるシステムで、「うはっwあのファイルなくなったwちょw」みたいな時とか、「え?消せって言ったアレ、使うの?え?消しちゃったよ」みたいな時にすぐに取り出せたりする優れものです。

そんなGitを僕はこのブログのテーマファイルで使用していたり、ついさっきこのブログで使うデモ用ディレクトリもGitで管理したりしています。

詳しく知りたい方はここら辺を見るといいんじゃないかと思います。超便利!いやマジ便利!

僕の使い方

僕はバージョン管理というより、公開環境にローカルファイルをアップする用途で使ってることが多いです。自分のサイトとかだったらそんなにいらんのですよ、バージョン管理なんておおげさなもん。

FTPだと、どうしても更新したファイルを手動で探してチマチマアップしなければするのが面倒なんですが、Gitを使うと数コマンドか数クリックで勝手にファイルをアップしてくれて凄く公開作業が楽になります。

Git01

※完成イメージ

メモ

僕は自分のサーバにメインのリポジトリを置いて、ローカルと本番環境にPullする形で使ってます。

今回はすでにアップしたいファイルが作られている状態で、リポジトリを使ってそれを公開環境にアップする手順を書こうと思います。

※前提条件ですが、サーバにもローカルにもGitが入ってるとします。

もし入ってない場合は、サーバで

sudo yum install git

してくださいね。

ローカルにリポジトリを作成

ターミナルでリポジトリを作りたいディレクトリに移動します

cd ~/Dropbox/www/test/

次に、リポジトリを作成

git init

これでリポジトリ作成完了。

コミット

まずGit管理するファイルを追加します。

git add .

これで全ファイルを追加できました。

次、コミット

git commit -m "最初のコミット"

これでコミット完了です。ディレクトリは以下にある全ファイルが記録されました。

リモートリポジトリの設定

次に、リモートリポジトリの設定。まずはサーバに共用のリポジトリを作成します。

まずはフォルダの作成

サーバ
mkdir ~/repos/test.git

次に、「共用のリポジトリ作るよ−」の宣言

cd repos/test.git
↑これはディレクトリを移動
git init --bare --shared

これでリポジトリの作成が完了。「–bare」と「–shared」がキモですね。

ローカルリポジトリをリモートと紐付け

ローカルでコマンドを撃ってさっき作った共用リポジトリに紐づけます。ターミナルでリポジトリのあるディレクトリに移動して下記コマンドを入力。

git remote add origin git://sharedGitUrl.git

git://sharedGitUrl.git

これはリモートリポジトリのURLになります。SSHでアクセスするなら「ssh://ユーザ名@サーバーのIPアドレス/ディレクトリ/test.git」って感じです。

リモートにPush

さぁついにリモートにコミットをpushします。

git push -u origin master

-u をつけたコマンドを叩けば次回からは「git push」だけでpushできるようになって便利ですよ。

本番環境に追加

ここまでやれば後は簡単。公開環境に追加しましょう。

公開環境の、ディレクトリを起きたい場所に移動して下記コマンドを入力。

git clone git://sharedGitUrl.git

さっきと一緒で、リモートのリポジトリを選択する感じで「git clone」です。

これでディレクトリと共にファイルが追加されます。

おわりに

Gitが凄いかどうかは実は僕はよく分かっていないのですが、これがやれるようになっただけで、自サイトの公開・修正作業は結構楽になったと思います。

そもそも、よくありません?ローカルで修正して、FTPでアップして連絡したら「このページだけ直ってないよ」とか「ココの画像が差し替わってないよ」とか。僕はしょっちゅうです。

それがなくなるだけでも凄く楽だなぁと感じますし、Gitは何となくスタンダードになってるのかなぁって空気も感じますので、できるだけ使えるようにはなっておきたいなぁという気持ちもあります。

また、こういうツールはそもそも敷居が高いので、デベロッパーでなければ使い始める気が起きないって事も多いと思います。

それに対してどうすれば良いかの解はあいにく持ち合わせていないのですが、GUIアプリなりなんなりで、ある程度敷居を下げれたりしてチーム全体として効率が上げられればなぁと思いますね。

他にこんな事も書いてます

FBでコメント

コメント1つ

  1. 明日読む | Gitでリポジトリにリモートを追加するメモ http://t.co/t8TKKJLxiX

トラックバック/ピンバックはありません。