Git 관리하는 dotfiles의 추천 - 자신의 개발 환경을 가지고 다니자 -
5697 단어 ShellScript환경 구축개발 환경Macdotfiles
목표
엔지니어인 것, 자신에게 최적의 개발 환경을 구축하는 것은
서비스 개발 속도를 크게 좌우하는 하나의 큰 요소라고 생각하고 있습니다.
shell은 zsh, iTerm2를 넣고 테마는 iceberg에서, 한층 더 모든 CLI를 인스톨 한다…등.
굉장히 즐거운 작업이기도 하지만, 좀처럼 시간을 사용해 버리는 작업이기도 합니다.
또 새로 사용 PC를 받거나 하면, 자신의 PC의 환경을 재현하려고 하면 이것도 또 수고가 걸린다.
라고 지금까지 생각하고 있던 분에게는, 분명 좋은 깨달음의 기사가 되는 것은 아닐까 생각합니다!
필자의 리포지토리
issy-s16/dotfiles
↑의 리포지토리는
git clone
하고 README의 커멘드를 치는 것만으로,Mac/CentOS/Fedora/RedHat등의 환경에 맞추어, 환경 구축을 가볍게 실시해 줍니다!
동그라미를 써도 좋고, 포크를 해도 괜찮습니다.
dotfiles란?
흔히 무엇인가의 설정 파일을 가리킵니다.
(.bashrc/.vimrc/.gitconfig) 같은 것.
또한 예를 들어 iTerm2와 같은 GUI 도구의 환경 설정 파일을 포함합니다.
※대부분의 설정 파일이 머리에.가 붙는 것으로부터, 이렇게 불리고 있습니다.
이번에는 이들 설정 파일을 Git 관리하고,
git clone
하면 환경 구축을 할 수 있는 상태로 해 나갑니다.자신의 dotfiles를 만들어 보자.
쉽게 시작
dotfiles에 대해서는, 우선 설정 파일을 Git 관리하는 것만으로도 매우 편리하게 됩니다!
우선, 빨리 시작하는 방법을 설명합니다.
리포지토리 만들기
mkdir ~/dotfiles
cd ~/dotfiles && git init
git commit -m 'initial commit' && git push
구성 파일을 dotfiles 아래로 마이그레이션
예: .bashrc
1.
mv ~/.bashrc ~/dotfiles
2. ln -s ~/dotfiles/.bashrc ~/.bashrc
※순서 2의 ln명령으로 dotfiles하하의 .bashrc를 심볼릭 링크 해,
~/.bashrc를 참조 할 때 dotfiles 아래의 .bashrc를 참조하려고합니다.
링크해 두면 뭔가 수정을 했을 때 Git 반영된다는 장점이 있습니다. 중앙 관리!
또한 README.md를 만들어 이러한 단계를 기록해 두는 것이 좋습니다!
일단 설정이 마이그레이션이 끝나면, 잊지 않고 git push
git push
탄탄하게 구축하다
이쪽은 확실히 구축편.
'쉽게 시작하기' 측에서는 단지 Git 관리만 했지만,
여기에서는 설정 파일의 배치, 다른 소프트웨어 인스톨까지 자동화하겠습니다!
setup.sh 만들기
vim ~/dotfiles/setup.sh
echo "DOTFILES SETUP START!"
for f in .??*; do
[ "$f" = ".git" ] && continue
ln -snfv ~/dotfiles/"$f" ~/
done
echo "DOTFILES SETUP FINISHED! bye."
※상기의 쉘에서는, 홈 디렉토리 부하에 clone한 dotfiles 리포지토리 부하의 설정 파일을
모두 홈 디렉토리 부하에 심볼릭 링크 하는 Shell입니다. 이것만으로 매우 편리.
도구 시스템도 설치해 봅니다.
echo "run brew doctor..."
which brew >/dev/null 2>&1 && brew doctor
echo "run brew update..."
which brew >/dev/null 2>&1 && brew update
echo "ok. run brew upgrade..."
brew upgrade
formulas=(
wget
curl
tree
openssl
z
colordiff
peco
hub
tig
)
echo "start brew install apps..."
for formula in "${formulas[@]}"; do
echo "---------------------------"
echo "installing ${formula}"
echo "---------------------------"
brew install $formula || brew upgrade $formula
echo ""
done
brew cleanup
OS에 맞추어 처리를 나누어 본다
setup_mac() {
if [ "$(uname)" == 'Darwin' ]; then
# Mac
echo "Setup for Mac"
# 何かしらの処理
fi
}
setup_debian() {
if [ -e /etc/debian_version ] || [ -e /etc/debian_release ]; then
# Check Ubuntu or Debian
if [ -e /etc/lsb-release ]; then
# Ubuntu
echo "Setup for Ubuntu"
# 何かしらの処理
else
# Debian
echo "Setup for Debian"
# 何かしらの処理
fi
fi
}
setup_redhat() {
if [ -e /etc/fedora-release ]; then
# Fedra
echo "Setup for Fedora"
# 何かしらの処理
elif [ -e /etc/redhat-release ]; then
if [ -e /etc/oracle-release ]; then
# Oracle Linux
echo "Setup for Oracle Linux"
# 何かしらの処理
else
# Red Hat Enterprise Linux
echo "Setup for Red Hat Enterprise Linux"
# 何かしらの処理
fi
fi
}
setup_arch() {
if [ -e /etc/arch-release ]; then
# Arch Linux
echo "Setup for Arch Linux"
# 何かしらの処理
fi
}
setup_suse() {
if [ -e /etc/os-release -o -e /etc/SuSE-release ]; then
# OpenSUSE
echo "Setup for OpenSUSE"
# 何かしらの処理
fi
}
setup_mandriva() {
if [ -e /etc/mandriva-release ]; then
# Mandriva Linux
echo "Setup for Mandriva Linux"
# 何かしらの処理
fi
}
setup_gentoo() {
if [ -e /etc/gentoo-release ]; then
# Gentoo Linux
echo "Setup for Gentoo Linux"
# 何かしらの処理
fi
}
setup() {
setup_mac
setup_debian
setup_redhat
setup_arch
setup_arch
setup_suse
setup_mandriva
setup_gentoo
}
setup
템플릿 틱에 소개하겠습니다만,
실제로 움직이고 있는 것을 보고 싶은 분은 필자의 저장소 를 봐 주세요!
마지막으로
기사 쓰기에 있어서,
그 밖에도 여러가지 방식으로 환경 구축을 해킹되고 있는 분이 계시고, 대단히 공부가 되었습니다.
여러분의 리포지토리나 기사를 보는 것으로, 나 자신 더 해킹해 가고 싶습니다!
읽어 주셔서 감사합니다!
Reference
이 문제에 관하여(Git 관리하는 dotfiles의 추천 - 자신의 개발 환경을 가지고 다니자 -), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/issys16/items/24bf7a4e6f559863a702텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)