~/.zshrc 파일을 git에 추가하는 방법은 무엇입니까?

~/.zshrc 파일을 git에 추가하는 방법은 무엇입니까?

.zshrc~/디렉터리에 있는 파일의 백업을 생성하고 다른 모든 프로젝트의 버전 관리를 방지하고 싶습니다 . 모든 하위 디렉터리와 해당 내용을 제외하는 방법은 무엇입니까?

예를 들어:

cd ~/subdirectory/ && git status

다음을 출력해야 합니다:

fatal: Not a git repository (or any parent up to mount point /)

이 목표를 달성하는 방법은 무엇입니까?

답변1

일반적인 해결 방법은 다음과 같습니다.

  1. 편리한 곳에, 바람직하게는 동일한 볼륨에 하위 디렉터리를 만듭니다.
  2. git에서 추적하려는 .zshrc 및 기타 .* 파일을 이 디렉터리로 이동합니다. 일반 명령에 표시되거나 이름 충돌을 피하기 위해 이름을 바꿔야 할 수도 있습니다.
  3. 새 git-dir의 파일에서 홈 디렉터리로의 심볼릭 링크를 만듭니다.
  4. 특정 위치에서 Git 저장소를 관리합니다.

예를 들어:

# Make a git directory someplace to store your config
git init ~/git/dotfiles

# Move your config to the git directory
mv ~/.zshrc ~/git/dotfiles/zshrc

# Link the config's new location into your $HOME
ln -s ~/git/dotfiles/zshrc ~/.zshrc

# Manage your new repo in its specific location
cd ~/git/dotfiles
git add zshrc
git commit -m"Initial commit"

답변2

출력하게 만들 수는 없습니다.

fatal: Not a git repository (or any parent up to mount point /)

.gitignore그러나 다음 내용이 포함된 파일을 추가하면 다른 모든 파일을 쉽게 제외할 수 있습니다 .

* 
!.zshrc

*( )를 제외한 모든 것을 무시합니다 .zshrc.

답변3

이를 수행하는 한 가지 방법은 작업을 수행하는 폴더에서 기본 git 저장소를 사용하는 것입니다.아니요호출 되지만 예를 들어 .git홈 디렉터리에서 추적하는 도트 파일과 상호 작용할 때 .git-dotfiles사용됩니다 . git --git-dir=~/.git-dotfiles --work-tree=~이를 더 쉽게 하기 위해 별칭을 정의할 수 있습니다. 사용법은 git-dotfiles add .zshrc다음과 같습니다.

git은 일반적으로 (플래그 없이) 디렉터리(또는 파일)만 찾기 때문에 디렉터리를 --git-dir지정하지 않는 한 .git디렉터리를 찾지 않습니다 ..git-dotfiles

이 저장소에서는 이를 false로 설정하는 것이 좋습니다 status.showUntrackedFiles. 그렇지 않으면 홈 디렉터리의 모든 파일이 추적되지 않은 것으로 나열됩니다. 해당 설정을 사용하면 추적되지 않은 파일을 보지도 않고 빠르게 유지해야 합니다.

Atlassian 출판이 접근 방식을 더 자세히 설명하는 좋은 기사.

관련 정보