dotfiles와 Git를 사용하여 여러 대의 컴퓨터 관리 개발 환경
처음부터
$HOME
디렉토리에 원시 저장소를 만듭니다.mkdir $HOME/dotfiles
git init --bare $HOME/dotfiles
.dotfiles-local-settings
디렉토리에 $HOME
파일을 추가합니다.이 파일은 저장소에 제출하지 않으려는 별칭, 함수, 값 등의 마스터 파일이 됩니다.나는 보통 이 파일을 사용해서 기계의 값이나 별명을 처리한다.예를 들면 다음과 같습니다.# Create local settings file
touch $HOME/.dotfiles-local-settings
# The path to the development folder on this machine. This path may be different on my work computer
echo "alias dev=\"cd /d/adam/Development\"" >> $HOME/.dotfiles-local-settings
이 파일을 만들고 원하는 내용을 채우면 복사하고 중복 파일.dotfiles-local-settings.example
의 이름을 바꾸고 값을 지웁니다.이렇게 하면 저장소를 새 시스템으로 복제할 때 템플릿을 사용하여 시스템별 설정을 정의할 수 있습니다.이 파일에 넣을 중요한 항목은
dotfiles
별명입니다. DotFile의 버전 제어를 관리하기 위해 사용합니다.이제 이를 추가합니다(컴퓨터에 따라 다음 별명 하나만 필요합니다).# Windows
alias dotfiles='/cmd/git --git-dir=$HOME/dotfiles/ --work-tree=$HOME' >> $HOME/.dotfiles-local-settings
# --------------------------------------------------------------------------- #
# Mac (depends on location of git)
alias dotfiles='/usr/bin/git --git-dir=$HOME/dotfiles/ --work-tree=$HOME' >> $HOME/.dotfiles-local-settings
# or
alias dotfiles='/usr/local/bin/git --git-dir=$HOME/dotfiles/ --work-tree=$HOME' >> $HOME/.dotfiles-local-settings
.gitignore
을 $HOME
디렉토리에 추가하여 원본 저장소가 있는 dotfiles
폴더와 버전 제어에서 사용하지 않으려는 로컬 설정 파일을 무시할 수 있도록 합니다.추가 파일이 추가되지 않도록 하려면 여기에 파일을 추가할 수도 있습니다.echo -e "dotfiles/\n.dotfiles-local-settings" >> $HOME/.gitignore
또한 새 저장소.gitignore
를 추가하여 최종적으로 다른 시스템에서 폴더를 복제하는 것을 무시할 수 있도록 합니다(이상한 귀속 문제를 방지합니다).echo "dotfiles/" >> $HOME/dotfiles/.gitignore
현재 환경에서 우리가 새로 만든 dotfiles
저장소에서git 명령을 실행할 수 있도록 별명을 만듭니다.모든 것이 준비되고 실행되기 전에만 이 별명을 사용할 수 있기 때문에 우리가 만든 동일한 별명을 사용합니다.# Windows
alias dotfiles='/cmd/git --git-dir=$HOME/dotfiles/ --work-tree=$HOME'
# --------------------------------------------------------------------------- #
# Mac (depends on location of git)
alias dotfiles='/usr/bin/git --git-dir=$HOME/dotfiles/ --work-tree=$HOME'
# or
alias dotfiles='/usr/local/bin/git --git-dir=$HOME/dotfiles/ --work-tree=$HOME'
그런 다음 저장소 상태를 구성하여 추적을 선택하지 않은 파일(즉, 추가하지 않은 파일)을 숨기고 무시되는 파일을 추가하는 방법에 대한 지침을 억제합니다.# Hide files we have decided not to track
dotfiles config --local status.showUntrackedFiles no
# Suppress the instructions on how to add ignored files
dotfiles config --local advice.addIgnoredFile false
저장소에 원격 응용 프로그램을 추가합니다(GitHub에서 또는 어디서든 리포의 원격 URL을 변경).dotfiles remote add origin [email protected]:username/dotfiles.git
.gitignore
디렉토리에서 만든 $HOME
를 저장소에 추가합니다.dotfiles add $HOME/.gitignore
dotfiles commit -m "Adding .gitignore"
현재, 위치에서 추적할 수 있도록 다른 파일을 쉽게 추가할 수 있습니다.예를 들어,
.bashrc
파일을 추가하려면 다음과 같이 하십시오.dotfiles add $HOME/.bashrc
dotfiles commit -m "Adding .bashrc"
dotfiles push
나는 함수, 별명 등에 단독 파일을 추가하는 것을 좋아한다. 이 파일들을 추가하기 위해 나는 특정한 명명 약정을 사용해서 파일을 저장소에 쉽게 추가할 수 있다. .dotfiles-functions
와 .dotfiles-aliases
.그런 다음 소스 코드 관리에 파일을 추가하려면 다음과 같이 하십시오.
dotfiles add $HOME/.dotfiles-*
dotfiles commit -m "Adding custom files"
dotfiles push
새 시스템에 설치
점 파일을 다른 컴퓨터
$HOME
의 원본 저장소로 복제(GitHub 또는 다른 곳에서 리포의 원격 URL을 변경):git clone --bare [email protected]:username/dotfiles.git $HOME/dotfiles
새 시스템의 .bashrc
또는 .zshrc
에 별칭을 추가합니다.# Windows
alias dotfiles='/cmd/git --git-dir=$HOME/dotfiles/ --work-tree=$HOME'
# --------------------------------------------------------------------------- #
# Mac (depends on location of git)
alias dotfiles='/usr/bin/git --git-dir=$HOME/dotfiles/ --work-tree=$HOME'
# or
alias dotfiles='/usr/local/bin/git --git-dir=$HOME/dotfiles/ --work-tree=$HOME'
원본 저장소의 실제 컨텐트를 체크 아웃$HOME
:dotfiles checkout
다음과 같은 오류 메시지가 나타날 수 있습니다.error: The following untracked working tree files would be overwritten by checkout:
.bashrc
.bash_profile
Please move or remove them before you can switch branches.
Aborting
이것은 $HOME
폴더에 이미 일부 설정 파일이 포함되어 있을 수 있기 때문에, 이 파일들은 서명해서 덮어쓸 것입니다.기존 파일을 다른 위치로 분석, 복사 또는 백업(관심 있는 경우)하려면 삭제만 하면 됩니다.현재 설정을 백업하려면 다음 바로 가기를 사용하여 일치하는 파일을 새 폴더로 이동합니다.
mkdir -p $HOME/dotfiles-originals-backup && \
dotfiles checkout 2>&1 | egrep "\s+\." | awk {'print $1'} | \
xargs -I{} mv {} $HOME/dotfiles-originals-backup/{}
그런 다음 체크 아웃을 다시 실행합니다.dotfiles checkout
showUntrackedFiles
저장소의 로컬 복사본no
플래그를 dotfiles
로 설정합니다.dotfiles config --local status.showUntrackedFiles no
.dotfiles-local-settings.example
파일을 복사하고 이름을 .dotfiles-local-settings
(삭제.example
로 변경합니다.이제 새 컴퓨터의 특정한 값을 저장하기 위해 파일 내용을 업데이트합니다.소스 코드 관리에서는 이 설정을 추적하지 않습니다.이 파일에서 만든
dotfiles
별명이 포함되어 있는지 확인하십시오. dotfiles
명령에 전역적으로 접근할 수 있습니다.업데이트
따라서 점 파일을 관리하는 새로운 방법을 사용하기 시작했습니다.위대하다🎉 지금 업데이트를 진행하고 싶으시면 업데이트 과정을 알아보겠습니다.
추적 파일 편집
현재 디렉터리의 파일을 검색하기 위해 사용자 정의
.dotfiles-functions
파일에 새 함수를 추가하려고 한다면..dotfiles-functions
파일을 열고 다음 행을 추가합니다.# Case insensitive file search, excluding node_modules and AppData directories
function ff() {
find . -type d \( -iname node_modules -o -iname AppData \) -prune -false -o -type f -iname "*$1*"
}
이 변경 사항을 추적 버전에 추가하는 새로운 기능이 생겼습니다.먼저 파일을 추가하고 제출 메시지를 작성하여 원격 저장소로 전송합니다.# Remember to use your dotfiles alias!
dotfiles add -u
dotfiles commit -m "Adding find file function"
dotfiles push
이 함수가 저장소에 있는 이상 다른 컴퓨터에서 쉽게 변경할 수 있습니다.dotfiles pull
# Don't forget to source your .bashrc (or .zshrc, etc.) file to pull in the new function
source $HOME/.bashrc
새 파일 추가
우리의dotfiles 설정을 추적하기 위해 새 파일을 추가하려면 원본 코드 관리에 존재하지 않는 개인 정보가 없는지 확인하고 버전 제어에 추가하십시오.
만약 파일에 개인 정보나 기계에 특정한 정보가 포함된다면 이 정보를
.dotfiles-local-settings
파일에 넣는 것이 가장 좋다는 것을 명심해라.이 예에 대해 우리는 Vim이 특정한 주제를 사용하도록 강요하려고 할 수도 있다.새 파일을 만들고
.vimrc
이 컨텐트를 파일에 붙여넣습니다.set background=dark
colorscheme solarized
let g:solarized_termtrans=1
이제 dotfiles 저장소에 새 파일을 추가합니다.dotfiles add $HOME/.vimrc
dotfiles commit -m "Adding Vim config"
dotfiles push
이제 새 구성 파일이 저장소에 있으므로 새 파일을 다른 컴퓨터로 쉽게 끌 수 있습니다.dotfiles pull
Reference
이 문제에 관하여(dotfiles와 Git를 사용하여 여러 대의 컴퓨터 관리 개발 환경), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/adamdehaven/using-dotfiles-and-git-to-manage-your-development-environment-across-multiple-computers-594f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)