みんな .zshrc
とか、いったいどうやって、どこに保存しているの?
push_machine_settings
# !/bin/bash
REPOSITORY=/path/to/local/repository
FILES=(
"/Users/ito_masakuni/.zshrc"
"/Users/ito_masakuni/.vimrc"
)
DIRS=(
"/Users/ito_masakuni/Desktop/misc/bin"
)
read -p "push ok? yes/[no]: " YN
if [ "${YN}" != "yes" ]; then
exit 0
fi
mkdir -p ${REPOSITORY}/files
for f in ${FILES[@]}; do
TARGET_DIR=$(echo ${f} | sed "s/[\/\.]/_/g")
mkdir -p ${REPOSITORY}/files/$TARGET_DIR
cp -v ${f} ${REPOSITORY}/files/$TARGET_DIR/$(basename ${f})
done
mkdir -p ${REPOSITORY}/dirs
for d in ${DIRS[@]}; do
TARGET_DIR=$(echo ${d} | sed "s/[\/\.]/_/g")
mkdir -p ${REPOSITORY}/dirs/$TARGET_DIR
cp -vr ${d}/ ${REPOSITORY}/dirs/$TARGET_DIR
done
cd ${REPOSITORY}
read -p "commit message: " MESSAGE
git status
git add -A .
git commit -m ${MESSAGE}
git push origin master
- GitHubなんかにリポジトリを作る。秘匿情報が入らないように気をつけてるけど、何となくprivateでリポジトリは作ってある。
- 作ったGitHubのリポジトリを
/path/to/local/repository
にcloneしておく。 - 上記のスクリプトにパスを通しておいて、
push_machine_settings
とかって名前にしておく。保存したいドットファイルやディレクトリを設定しておく。 -
.zshrc
とか.vimrc
とかを変更して気が向いたら、push_machine_settings
をたたく。 - リポジトリが更新される。ファイルのパス中のスラッシュはアンダースコアに置換される。
もっとクールな方法がある気がしている。探してみたらあった。たぶんこれ。
「最強の dotfiles 駆動開発と GitHub で管理する運用方法」
https://qiita.com/b4b4r07/items/b70178e021bef12cd4a2
やってみよ。