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