dotfiles와 Git를 사용하여 여러 대의 컴퓨터 관리 개발 환경

12018 단어 tutorialgitdotfiles
컴퓨터의 점 파일은 개발 환경의 관건적인 부분이다.우리 중 많은 사람들이 하루 종일 여러 대의 컴퓨터에서 일한다(예를 들어 노트북, 집안의 데스크톱 등). 여러 대의 컴퓨터에서 설정의 일치성을 유지하려면 고통스러운 일이다.git 메모리 라이브러리를 이용하여dot 파일을 동기화하고 백업하는 방법을 소개할 것입니다.

처음부터$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

좋은 웹페이지 즐겨찾기