2018年01月09日
git一部のディレクトリのみ展開
mkdir /var/www/hoge
cd /var/www/hoge
git init
git config --bool core.bare false
git config core.sparsecheckout true
git remote add origin /my/git/dir/
echo /html > .git/info/sparse-checkout
git pull origin master
投稿者 muuming : 10:59
2017年11月11日
git apache経由を導入してみる
以前ssh経由のgitを導入したが、パスワード毎回入れないといけないので、apache経由を導入してみる。
subversionもapache経由ならID PASS省略できるしいけるような気がするので。
環境centos7です。
#mod_cgi、 mod_alias、 mod_env、 mod_rewrite が必要らしい
#/usr/lib64/httpd/modules/以下に全部入ってるのでこれはOKっぽい
#git インストール
yum install git
mkdir /home/mygit
cd /home/mygit/
#初期化
git init
#bareリポジトリかどうか調べる
git config --get-all core.bare → false
#ノンベアリポジトリはワーキングディレクトリを持つ
#ベアリポジトリはワーキングディレクトリを持たない。更新情報だけを持っている
#コミットする場所はbareにする
git config --bool core.bare true
#apacheさんが使うので所有者変更
chown -R apache.apache /home/mygit/
#Apache の設定
/etc/httpd/conf.d/git.conf
#-------------------------------
SetEnv GIT_PROJECT_ROOT /home/mygit/
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias /mygit/ /usr/libexec/git-core/git-http-backend/
AuthType Basic
AuthName "go away!!"
Require valid-user
AuthUserFile /pathto/.htpasswd
#-------------------------------
とりあえずこれで
http://example.com/mygit のURL使ってcloneできた
ソースの自動展開とかは以前のメモを参照。
うん やってみたけど、やっぱりコミットとプッシュの2段階がどうもめんどくさい。
vmware とかでソース部分をファイル共有してコミットのみで構築テストして、OKだったら遠隔サーバにプッシュかな?
これはvmwareで作業用のブランチをファイル共有して動作確認後、そこににコミットして記録を残しつつ、完成時のバージョンのみマスターにコミットかな。
作業時毎にブランチ切ろうかな。
この方法なら遠隔地サーバはバックアップという意味合いだから、マスターと作業記録ブランチをたまにプッシュするだけなのでIDPASS問題はOKだし、コミットとプッシュ毎回2作業の必要ないからこれがいいかな。
となると自動展開デプロイの必要ないね。
てか そう考えると ssh経由でも何も問題ないのかww
投稿者 muuming : 10:08
2016年08月20日
gitのあんちょこ
メモをどこかやったので再度ここに記録
yum install git
リポジトリ作成
mkdir mygit
cd mygit
git init
#bareリポジトリかどうか調べる
git config --get-all core.bare
false
#集積所はbareにしておく
git config --bool core.bare true
作業PC側にて git clone
ssh://192.168.254.132/home/gitman/mygit/
コミットしてプッシュ
サーバ内部でクローン
git clone /home/gitman/mygit/ /var/www/myhtml/
外部からプッシュされたらサーバ内部展開
.git/hooks/post-commit にコマンド記載
cd /var/www/myhtml/ && git pull
投稿者 muuming : 09:48