developer tip

Sourcetree에서 Git 저장소가있는 폴더의 모든 파일을 무시하려면 어떻게합니까?

optionbox 2020. 10. 4. 10:53
반응형

Sourcetree에서 Git 저장소가있는 폴더의 모든 파일을 무시하려면 어떻게합니까?


Sourcetree로 관리되는 Bitbucket Git 저장소가 있습니다.

커밋 할 폴더가 두 개 있지만 임시 파일 만 포함되어 있으므로이 폴더의 모든 파일을 무시해야합니다.

어떻게 할 수 있습니까?


이것을 .gitignore에 추가하십시오.

*
!.gitignore

Sourcetree 사용자의 경우 : 특정 폴더를 무시하려면이 폴더에서 파일을 선택하고 마우스 오른쪽 단추로 클릭 한 다음 "무시 ..."를 수행하십시오. "아래의 모든 항목 무시 : <원치 않는 폴더>"를 무시할 수있는 팝업 메뉴가 표시됩니다.

첫 번째 메뉴

두 번째 메뉴

"무시"옵션이 회색으로 표시된 경우 "추적 중지"옵션을 선택해야합니다. 그런 다음 파일이 빨간색 배경 아이콘에 마이너스 기호와 함께 스테이징 된 파일에 추가 되고 Unstaged 파일 목록 의 파일 아이콘 이 보라색 배경에 질문 기호로 변경됩니다. 이제 준비되지 않은 파일 목록에서 "무시"옵션이 다시 활성화됩니다. 위에서 설명한대로 수행하십시오.


파일을 마우스 오른쪽 버튼으로 클릭 → 무시아래에있는 모든 항목 무시 .

경우 무시 옵션은 다음 회색으로 표시됩니다

  1. 먼저 파일 준비
  2. 오른쪽 클릭 → 추적 중지
  3. 해당 파일은 물음표와 함께 아래 창에 나타납니다 → 마우스 오른쪽 버튼으로 클릭 → 무시

여기에 이미지 설명 입력


내가 아는 한 Git은 폴더를 추적하지 않고 파일 만 추적하므로 빈 폴더 (또는 모든 파일이 무시되는 폴더)는 커밋 할 수 없습니다. 예를 들어 빌드 프로세스의 일부 단계로 인해 폴더가 있어야하는 경우 빌드 도구에서 대신 생성하도록 할 수 있습니까? 또는 무시되지 않은 비어있는 파일을 폴더에 넣고 커밋 할 수 있습니다.


나는 이것에 대해 적어도 한 시간 동안 머리를 치고 나서 다른 사람들이 작성한 의견을 확장하기 위해이 답변을 제공합니다. 폴더 / 디렉토리를 무시하려면 다음을 수행하십시오. 프로젝트의 루트에 .gitignore 파일 (정확히 ".gitignore")이없는 경우 제외하려는 폴더에 더미 텍스트 파일을 만듭니다. 소스 트리 내부에서 마우스 오른쪽 버튼을 클릭하고 무시를 선택합니다. 다음과 같은 팝업이 표시됩니다.

여기에 이미지 설명 입력

"아래에있는 모든 항목"을 선택하고 드롭 다운 목록에서 무시할 폴더를 선택합니다. 그러면 루트 디렉토리에 .gitignore 파일이 생성되고 그 안에 폴더 사양이 저장됩니다.

루트 폴더에 이미 .gitignore 폴더가있는 경우 위와 동일한 방법을 따르거나 .gitignore 파일을 편집하고 제외 할 폴더를 추가 할 수 있습니다. 텍스트 파일 일뿐입니다. Windows 사용자가 익숙한 것처럼 백 슬래시가 아닌 경로 이름에 슬래시를 사용합니다. Windows 탐색기에서 직접 .gitignore 텍스트 파일을 만들려고했지만 이름없이 (즉, 확장자 만있는) 파일을 만들 수 없었습니다.

.gitignore 및 파일 사양을 추가해도 이미 추적중인 파일에는 영향을주지 않습니다. 이미 추적중인 경우 추적을 중지해야합니다. (폴더 나 파일을 마우스 오른쪽 버튼으로 클릭하고 추적 중지를 선택합니다.) 그러면 녹색 / 깨끗한 아이콘 또는 황색 / 변경된 아이콘에서 빨간색 / 제거 된 아이콘으로 변경되는 것을 볼 수 있습니다. 다음 커밋에서 파일이 저장소에서 제거되고 그 후에 파란색 / 무시 된 아이콘이 나타납니다. 다른 기여자는 특정 파일에 대해 무시가 비활성화 된 이유를 물었고, 이미 추적중인 파일을 무시하려고했기 때문이라고 생각합니다. 파란색 물음표 아이콘이있는 파일 만 무시할 수 있습니다.


다른 사람들이 언급했듯이 git은 폴더를 추적하지 않고 파일 만 추적합니다.

다음 명령 (또는 이에 상응하는 논리)을 사용하여 폴더가 존재하는지 확인할 수 있습니다.

echo "*" > keepthisfolder/.gitignore
git add --force keepthisfolder/.gitignore
git commit -m "adding git ignore file to keepthisfolder"

파일이 있으면 저장소를 체크 아웃하는 모든 사람이 폴더를 갖게됩니다.

gitignore 파일의 내용은 파일의 모든 내용이 무시됨을 의미합니다.

당신은 할 수 없습니다 .gitignore 파일 자체를-무시하지합니다 . 한 번 수행하면 전혀 목적이없는 규칙입니다.

또는

모든 무시 정의를 동일한 위치에 유지하려면 다음과 같은 내용으로 프로젝트 루트에 .gitignore를 만들 수 있습니다.

*.tmp # example, ignore all .tmp files in any folder
path/to/keepthisfolder
path/to/keepthatfolder

폴더가 존재하는지 확인하기 위해

touch path/to/keepthisfolder/anything
git add --force path/to/keepthisfolder/anything
git commit -m "ensure keepthisfolder exists when checked out"

"anything"은 말 그대로 무엇이든 될 수 있습니다. 일반적으로 사용되는 이름은 .gitignore, .gitkeep, 비어 있습니다.


귀하의 경우 무시 옵션이 회색으로 표시됩니다, 당신은 그것을 무시하기 전에 파일을 추적 중지해야합니다. 파일을 마우스 오른쪽 버튼으로 클릭하고 "추적 중지"를 누르기 만하면됩니다.

옆에 파란색 아이콘이 나타납니다. 다시 마우스 오른쪽 버튼을 클릭하고 무시를 클릭하십시오.


소스 트리의 전체 폴더를 무시합니다.

   Just Open Repository >Repository setting > Edit git ignore File and 
   you can rite some thing like this :

 *.pdb 
*.bak 
*.dll
*.lib 
.gitignore
packages/ 
*/bin/
*/obj/ 

bin 폴더 및 obj 폴더의 경우 다음과 같이 작성하십시오. * / bin / * / obj /


Sourcetree에서 : 지정된 폴더의 파일을 무시합니다. Sourcetree는 해당 폴더의 모든 파일을 무시할 것인지 묻습니다. 그것은 완벽!

참고 URL : https://stackoverflow.com/questions/9665399/how-do-i-ignore-all-files-in-a-folder-with-a-git-repository-in-sourcetree

반응형