空ではないディレクトリにCLONEしようとするとエラーになる
以下の手順なら対応できた
既存のディレクトリに git clone するには - Corredor
http://neos21.hatenablog.com/entry/2016/02/07/000000
git pull を強制し、リモートでローカルを上書きする方法 | WWWクリエイターズ
http://www-creators.com/archives/1097
以下、実際に作業したときのメモ
# su -s /bin/bash - apache
$ cd /var/www/html/bitbucket-test
$ git clone git@bitbucket.org:refirio/test.git /var/www/html/bitbucket-test
本来は上記手順でCLONEできる
が、すでに /var/www/html/bitbucket-test が存在して作業をしている場合はCLONEできない
この場合、以下の方法で強制的に上書き対応できる(必ず既存ディレクトリをバックアップしてから作業を始める)
# cd /var/www/html
# chown -hR apache. /var/www/html/bitbucket-test … デプロイで上書きできるように所有者を設定
# su -s /bin/bash - apache
$ cd /var/www/html/bitbucket-test
$ git init … ローカルリポジトリを作成
$ git remote add origin git@bitbucket.org:refirio/test.git … リモートリポジトリを追加
$ git fetch origin … リモートリポジトリを取得
$ git branch -a
$ git merge origin/master … ローカルリポジトリにマージ
$ git branch -a
「git merge origin/master」の際、以下のようなエラーになるようなら
$ git merge origin/master
error: Untracked working tree file 'app/config.php' would be overwritten by merge.
fatal: read-tree failed
以下を実行して強制的にリポジトリの内容に一致させることができる
$ git reset --hard origin/master
ブランチをdevelopに切り替えてPULLする場合、以下のようにする
$ git reset --hard origin/develop
$ git checkout develop
上記で切り替えられなければ、以下のようにする
git checkout -b develop origin/develop
git - fetchしたremoteブランチのトラッキングブランチがcheckout時に自動で生成されない - スタック・オーバーフロー
https://ja.stackoverflow.com/questions/18047/fetch%E3%81%97%E3%81%9Fremote%E3%83%96%E3%83%A9%E3%83%B...
最後にPULLして、エラーにならなければ完了
$ git pull