カテゴリー別アーカイブ: webデザイナーのためのgit

bitbucketリポジトリの所有者を個人からチームに変更する

bitbucketでプロジェクトのコードを管理している。
リポジトリつくるとき個人の所有にしてしまったけど、チームの所有にできることに気付いたので変更してみた。

bitbucket上でリポジトリの移譲を行う

  1. Setting > リポジトリの移譲から、『ユーザー名』でチーム名を入れて『リポジトリの移譲』
  2. 自分がチームの管理者なら移譲を承認。別の人が管理者なら、承認してもらう。

これで移譲は完了。
だけどこれでリポジトリのURLが変わってしまったので、自分のマシンで設定を変えてやらないといけない。

リモートリポジトリoriginのURLを変更

リモートリポジトリの変更は下記コマンド

git remote set-url origin git@bitbucket.org:hogeteam/fuga-project.git

チームでリポジトリを所有するメリット

アクセス管理でいちいちメンバーを招待しなくても、チームで設定したメンバーが最初からアクセスできる。

それ以外のメリットはちょっとよく分からないです。他にも何かあるのかな?

参考サイト

bitbucketにSSH認証キーを登録して、gitコマンドを使えるようにする

githubの認証設定は会社のエンジニアにやってもらったのだけど、プライベートでbitbucketを使っているので、復習として自分で設定してみることにした。

1. Mac側で公開鍵と秘密鍵を生成

sshディレクトリに移動

$ cd ~/.ssh

ssh keyを作成

$ ssh-keygen -t rsa -C "bitbucketに登録してるメールアドレス"

ファイル名を聞かれるので、適当に名前をつけましょう(何でもいい)
僕は

id_rsa_bitbucket

としました。
パスフレーズを聞かれるので入力します(空白も可。2回聞かれる)

~/.sshフォルダに2つのファイルが出来上がったのを確認します。

  • id_rsa_bitbucket : 秘密鍵 (秘密にすること!)
  • id_rsa_bitbucket.pub: 公開鍵 (これをbitbucketに登録する)

秘密鍵のアクセス権限を修正 (所有者のみ読み書き可)して、セキュリティ向上

$ chmod 600 id_rsa_bitbucket

鍵の生成は以上。

2. Mac側でconfigファイルを設定

『bitbucketではこの鍵を使う』という設定をします。
~/.ssh/configファイルをひらき、下記を追加

Host bitbucket.org
  HostName bitbucket.org
  IdentityFile ~/.ssh/id_rsa_bitbucket
  User git

3. Bitbucketへ公開鍵を登録

以下のコマンドでssh key の内容をコピー(エディタで開いて丸コピしてもOK)

$ pbcopy < ~/.ssh/id_rsa_bitbucket.pub

bitbucketにアクセスして、Manage Account > SSH keys > Add keyで、コピーした公開鍵を登録。
Labelは何でも良いです。分かりやすくマシンの名前でもつけときましょう。

これで登録完了です

テスト

一応テストしてみる。

$ ssh -T git@bitbucket.org

で、logged in as [ユーザ名] と表示されればOK
(ほんとに接続する?って聞かれたらyesで)

参考サイト

wordpressサイトをgitで管理する際のgitignore

1つのサーバのみで運用する場合は問題ないかもですが、【本番】【テスト】など複数のサーバでソースを共有するための設定です。

gitignoreを追加

様々な言語・サービスでオススメのgitignoreがまとまってましたので、これを参考にしました。
github / gitignore

wordpressディレクトリ内に.gitignoreファイルを作成します。
中身は以下。

#mac
.DS_Store
._*
#sass
.sass-cache/    
#WP用
.htaccess
wp-config.php
wp-content/uploads/
*.log
sitemap.xml
sitemap.xml.gz

すでに無視したいファイルをコミット(or ステージに登録)しちゃってた場合

下記のコマンドで追跡を解除します。
ファイルは削除されませんが、gitの管理対象外となります。

$ git rm --cached ファイル名

また、フォルダ内すべてを管理対象外にするには-rオプションを加えます。

$ git rm --cached -r ディレクトリ名

最後に、コミットして反映させます。

git rm --chachedだとファイルは残るはずなのですが、消えると怖いので一応バックアップはとっときましょう。

bitbucket上のリポジトリを公開サーバ(coreserver)に反映させる

目指せ自動化!FTPでファイル選んでアップロードとかもう古い!
gitを使ってデプロイする方法を身につけましょう。

bitbucketとの連携手順

SSH公開鍵・秘密鍵を作成

ssh-keygen

ディレクトリはそのままenter。
パスフレーズも無しで良いのでそのままenter。

ssh-agentを起動

ssh-agent /bin/bash

ssh-agentが起動しているか確認

ps -e  | grep [s]sh-agent

なにか表示されたらOKです

bitbucketに公開鍵を登録

cat ~/.ssh/id_rsa.pub

表示された文字列すべてコピーして、bitbucketのDeployment keys > Add keyに登録

サイトの設定

対象ディレクトリまで移動していざgit clone!

ディレクトリ移動

cd public_html/hogehoge.com

ブラウザでbitbucketリポジトリのページを開き、Clone > HTTPSのソースをコピー。
自分のいるディレクトリ./git cloneを実行

git clone git@bitbucket.org:hoge/hogehoge.com.git ./

最後の./を抜かすとさらにディレクトリが作られてしまうため、hogehoge.com/hogehoge.com/index.htmlみたいに二重になってしまう。

以上で完了です。
lsかFTPかブラウザでファイルが正常にコピーされたことを確認してください。

これ以降はgit pullで簡単にデプロイ(反映)できるはず。おつかれさまでした!

つまづいたところ

  • 最初はgit initしてからgit cloneしてたけど、リポジトリをクローンするから最初にリポジトリつくる必要はなかったんや・・・
  • git cloneで展開ディレクトリ./を指定する方法に気づかずにちょっと悩んだ

参考サイト

coreserverにgitをインストールする

最終的には修正したファイルの反映(デプロイ)をFTPではなくgit pullとかで行えるようになりたい。
そのためにまずは公開サーバにgitをインストールします。

インストール方法

操作はSSHでコマンドラインから行います。
まずはcoreserver管理画面にログインし、管理メニュー > ホスト情報登録 から「SSH登録」を行います。
(自分が登録したホストからしかSSHできないのですね。それなりにセキュアだなと思ったのですが、ほかのサーバでもそうなのだろうか。)

以下コマンドはターミナルから入力します。

ssh [アカウント]@[サーバ名]

パスワードを聞かれるので入力(FTPパスワードと同じ)
これでサーバにログインできました。

次にgitをダウンロードして解凍します

wget http://git-core.googlecode.com/files/git-1.8.2.3.tar.gz
tar xvzf git-1.8.2.3.tar.gz

バージョンは確認してください。最新バージョンの数字を入れればたぶん大丈夫です。
Git
(wgetはHTTPまたはFTPのファイル取得、tarは解凍のコマンド。xvzfはgzipを解凍するために必要。)

次に環境変数にPATHを通します。
正直理解していないので、参考サイトを見てみてください。

cd ~
vim .bashrc

vimが起動して.bashrcファイルを編集できます。
vimは普通のテキストエディタの感覚ではないので、使い方はググりましょう。
インサートモードはesc、保存して終了は:wqです。

最後にさっき解凍したファイルをインストールします。

cd git-1.8.2.3.tar.gz
./configure --prefix=$HOME/local
gmake
gmake install

(何が行われているかはよく分からない)

以上でインストールできたはず。確認してみよう。

git --version

きちんとバージョンが表示されたらインストール成功しています。おつかれさまでした。

参考サイト

Markdown記法まとめ

Wikipediaを参考に。
後々スタイルは調整しますが、備忘録として。

段落・改行

段落は空の行を空けて示す。
改行はスペース二文字で示す

強調

これが強調です
これが強い強調です

強調は*テキスト*または_テキスト_
強い強調は**テキスト**または__テキスト__
で示す。

コード

インラインのコード

<p class="foo">
    複数行にまたがるコード
</p>

インラインのコードは“`で囲む`(macだとshift + @)
複数行のコードは行頭に4つ以上スペースをあける。
ちなみにブロック要素は上下に空行をあけねばならないようだ。

リスト

  • 順序なしリスト
  • 順序なしリスト
  1. 順序付きリスト
  2. 順序付きリスト

順序なしリストは* or + or -を使用(直後にスペース必要)
順序付きリストは1. 2.と数字を使用。数字はなんでも良いらしい。(0. 0.とかでもOK。意味はないが)

見出し

h1の見出し

h2の見出し

h3の見出し

h4の見出し

h5の見出し
h6の見出し
#h1の見出し
##h2の見出し
###h3の見出し
####h4の見出し
#####h5の見出し
######h6の見出し

レベル6の見出しまで対応

引用

引用する文章引用する文章引用する文章引用する文章
引用する文章引用する文章引用する文章引用する文章

>を行頭に書きます。

リンク

Markdown – Wikipedia

[リンクのテキスト](リンクのアドレス "リンクのタイトル")

水平線


* * *
***
*****
- - -
---------------------------------------

1行に3つ以上の- or * or _を並べる。空白が間にあっても良い。

参考ページ


以下追記
2013/04/24

他にも要素があることを見つけたので、追記します。

テーブル

見出し01 見出し02
項目01_01 項目02_01
項目01_02 項目02_02
見出し01 | 見出し02
--------|----------
項目01_01| 項目02_01   
項目01_02| 項目02_02

ハイフンと縦棒- and |(縦棒なんて読むんだろう)で表を作成できます。

定義リスト

果物
りんご
野菜

キャベツ

果物
りんご
野菜
キャベツ

定義リストは標準のmarkdown記法では策定されていないようですが、拡張によっては使えるようです。(Markdown on Save Improved では利用可)