2012年6月22日金曜日

git-GUI 基礎編 gitを使いまくる

この記事のメニュー

(1)ローカルマシンにサーバのリポジトリを複製するぞ
(2)サーバのコンテンツを配置する(リポジトリを作る)のが先じゃない?
(3)サーバでの作業
□git-GUIを使う

「環境」
    ・サーバ   ・gitコマンドが使えるレンタルホスト:OS: Linux
    ・開発マシン ・windows、(Linuxでもほぼ同じです) 
「要件」
    ・公開サーバに「コンテンツ」を置くが、実機での修正もしたい。
    ・開発マシンは、windows/Linux/Macが使えるように。


  (1)ローカルマシンに、サーバのリポジトリを複製するぞ

□作業の順序
(1)gitのクライアントをダウンロードする
(2)インストールする。画面に従ってすすめばOKです。
(3)サーバから、ローカルPCにリポジトリを複製する。(git-GUIの使い方ですね)

(1-1)サーバからリポジトリを複製する (サーバがオリジナルですね)
・ローカルPCで、配置したいディレクトリで右クリックすると、下の画面が出ます。

ソースの位置と
ローカルPCのディレクトリを入力します

次にSSHのパスワードを聞いてきます(3回)ので、入力すると
ローカルPCにコピーされます。 

(1-2)ローカルPCの設定
ローカルPCの名前を設定しておく (必ず、やってね)

(1-3)ローカルPCの変更を、サーバにアップする
ローカルPCで、追加、変更をサーバにアップします。
使う順番は、画面の順番の通りに、押してゆけばOKですね。
 1) 変更をコミット予定に入れる
 2)署名
 3)コミット
 4)プッシュ(サーバにプッシュします

(1-4)サーバから変更を取ってくる リモート→取得元→originを選択する

(1-5)取ってきたのをマージする マージしなきゃあ反映されないぞっ

 (2)サーバにコンテンツを配置する(リポジトリを作る)のが先じゃない?
サーバ:リポジトリ作成」
「事前準備」
FTPなどで、このディレクトリに必要な初期コンテンツを上げておく、
サーバにログインして、ディレクトリ内に移動

例えば、cakephp2.2.2を配置したディレクトリが /web/cakephp222/ とすると

$>cd /web/cakephp222/
$>git init --shared=true
$>git config --add receive.denyCurrentBranch ignore
$>git add .
$>git commit -a -m "start"

・リポジトリをinit初期化して、
・全部のファイルをリポジトリに加えて add.
・変更をcommit して完了です。
・$git init --bare とすると、working treeをつくらない設定なので、
今回は、共有夕オプションの --shared=true

・git管理除外設定ファイル(DB設定ファイルとかキャッシュファイルとか・・)の 
 .gitignoreに必要なファイル名を書いておく
・CakePHPだと、ダウンロードのファイルに用意されているので、便利、そのまま、使う
(FTPで送る)

(3)サーバでの作業

リポジトリを作り損なったので、gitディレクトリを丸々削除したい
$>chmod -R g-s .git
$>chmod -R 747 .git
$>rm -rf .git

ブランチ作成
$>git branch branch_name

ブランチに作業を移行
$>git checkout branch_name

コミットし、メッセージはmessage
$>git commit -a -m "message"

修正をにマージ
$>git checkout master
$>git merge branch_name

ブランチを削除
$>git branch -d branch_name

マージしてないブランチを削除
$>git branch -D branch_name


はまった。
 UTF-8環境前提 (~/.bashrcに記述して)
export LANG=ja_JP.UTF-8


$ git config --global user.name "Your Name"
$ git config --global user.email you@example.com