git에서 복제 된 프로젝트에서 버전 추적을 어떻게 제거합니까?


686

프로젝트 디렉토리에서 모든 버전 추적을 제거하고 싶습니다.

이를 수행하는 올바른 방법은 무엇입니까?

다음과 같은 쉘 명령을 수행 할 수 있습니까?

rm -rf .git

내 프로젝트 디렉토리에서 또는 Git 명령으로 수행 할 수있는 방법이 있습니까?

나는이 프로젝트를 사용하여 Git을 배우고 파일 이동, 이름 바꾸기 및 삭제 된 파일로 프로젝트 초기에 실수를 저지른 것을 깨달았습니다. 모든 Git 추적을 제거하고로 시작하고 싶습니다 git init.


1
git-archive를 고려하십시오 .
Martin v. Löwis

2
실수가 얼마나 나쁜지에 따라 실제로 모든 것을 대화식으로 리베이스하고 초기에 많은 커밋을 함께 스쿼시하고 더 최근의 좋은 역사를 구할 수 있습니다.
Cascabel

6
Windows 사용자의 경우 :rd /s /q .git
Soorena

답변:


687

Git이 정보를 위해 사용하는 모든 데이터는에 저장 .git/되므로 제거해도 잘 작동합니다. 물론 작업 사본이 원하는 상태로되어 있는지 확인하십시오. 다른 모든 항목이 손실되기 때문입니다. .git폴더가 숨겨져 있으므로 Show hidden files, folders and disks옵션 을 켜십시오 .

여기에서 git init새로운 저장소를 작성하기 위해 실행할 수 있습니다.


1
하위 폴더에 숨겨진 .git 디렉토리가없는 것이 확실하지만 해당 폴더를 github로 푸시하면 여전히 회색으로 표시되는 아이콘이 나타납니다.
Kokodoko

1
.gitconfig도 있으므로 제거해야합니다.
Maximilian Mordig

'code'git rm -r --cached your_folder / 내 목표는 추적 된 git 폴더를 다른 추적 된 git 폴더의 하위 폴더로 바꾸는 것이 었습니다. 자식 폴더의 캐시를 제거 할 때까지 새 부모는 새 자식을 인식하지 못합니다.
Ryan Huebert

420

rm -rf .git충분해야합니다. 그것은 모든 Git 관련 정보를 날려 버릴 것입니다.


1
cannot unlink Permission denied창에 일부 가 있으면 explorer작업 관리자에서 프로세스를 rm -rf .git종료하고 그 후에 탐색기를 다시 실행 한 다음 다시 열 수 있습니다. 그것은 나를 위해 작동합니다!
Michael

10
Git Bash창문 이 있으면 작동합니다.
바이러스 성

1
무슨 -rf뜻입니까?
nilon

13
-r"재귀"를 의미하므로 폴더가 비어 있지 않기 때문에 오류가 발생하지 않고 폴더의 전체 내용이 삭제되며 -f실제로 항목을 삭제할지 확실하지 않은지 묻지 않습니다.
릴리 발라드

1
@Lucky_girl 결제에서 모든 Git 상태를 제거합니다. 가지도없고, 역사도없고, 리모컨도없고, 전혀 없습니다. 모든 것들이 .git디렉토리에 저장됩니다 . 그것이 없으면 문자 그대로 더 이상 자식 저장소가 없습니다.
릴리 발라드

96

아래 단계 외에도 .gitignore 파일을 제거 할 수도 있습니다.

  • 프로젝트에서 Git의 흔적을 제거하려면 .gitignore 파일을 제거하십시오.

  • ** Git을 프로젝트에 다시 통합하려면 .gitignore 파일을 남겨 두십시오.

일부 프레임 워크는 .gitignore 파일을 자동으로 생성하므로 그대로 둘 수도 있습니다.


Linux, Mac 또는 Unix 기반 운영 체제

터미널을 열고 프로젝트의 디렉토리 (예 :-)로 이동하십시오 cd path_to_your_project.

이 명령을 실행하십시오 :

rm -rf .git*

프로젝트에서 Git 추적 및 메타 데이터가 제거됩니다. 메타 데이터 (예 : .gitignore 및 .gitkeep)를 유지하려면을 실행하여 추적 만 삭제할 수 있습니다 rm -rf .git.


윈도우

명령 프롬프트 사용

rmdir또는 rd명령은 당신이 사용해야하므로, 사용자가 지정한 디렉토리에 숨겨진 파일이나 폴더를 제거 / 삭제되지 않습니다 del있는지 모든 파일이 제거되는 것으로 명령을 .git폴더에 있습니다.

  1. 명령 프롬프트를 엽니 다

    1. Start그런 다음 클릭 Run하거나 Windows 키키를 누르십시오 r.

    2. 입력 cmd하고 엔터를 치십시오

  2. 프로젝트 디렉토리로 이동하십시오. 즉- cd path_to_your_project

  1. 이 명령을 실행

    1. del /F /S /Q /A .git

    2. rmdir .git

첫 번째 명령은 모든 파일과 폴더를 제거 .git 폴더에 있습니다. 두 번째는 .git폴더 자체를 제거합니다 .

명령 프롬프트가 없습니다

  1. 파일 탐색기를 열고 프로젝트로 이동하십시오

  2. 숨겨진 파일 및 폴더 표시- 시각적 가이드는 이 기사 를 참조하십시오.

    1. 툴바의보기 메뉴에서 Options

    2. 에서 Advanced Settings섹션, 찾을 Hidden files and Folders세 이하 Files and Folders목록 선택Show hidden files and folders

  3. 옵션 메뉴를 닫으면 폴더를 포함한 모든 숨겨진 폴더와 파일이 .git표시됩니다.

    삭제 .git폴더 삭제를 .gitignore파일 ** (이 답변의 상단에 메모를 참조)


1
rmdir .git그 아래에 폴더가 있기 때문에 작동하지 않습니다.
Dale

데일, 아래 줄을 확인하십시오 rmdir .git. 위 명령은 폴더 자체를 제거 rmdir .git하기 전에 .git 폴더 내의 모든 파일과 폴더를 제거하는 데 사용 rmdir됩니다.
매트 C

1
당신은 잘 할 수있는 rd /s /q .git그 폴더와 모든 것을 날려 버릴 것이다,
그렉

창문의 rmdir /S .git경우 작업이 완료되었습니다. 고마워
Eder Luis Jorge

70

.git*특히 수동 으로 모든 .git파일 을 이동하는 것이 현명한 선택은 아닙니다. 특히 이러한 파일이 내 조건과 같이 하위 폴더에 숨겨져있을 때 : composer + git로 Skeleton Zend 2를 설치하면 .git폴더와 하위 폴더에 많은 파일이 생성됩니다. 폴더.

rm -rf .git내 GitHub 셸에서 시도했지만 셸에서 -rfRemove-Item 의 매개 변수 를 인식 할 수 없습니다 .

www.montanaflynn.me는 모든 파일을 한 번에 재귀 적 으로 제거 하는 다음 셸 명령 을 소개합니다 .git! 정말 작동합니다!

find . | grep "\.git/" | xargs rm -rf

5
"Github 쉘에서 'rm -rf .git'을 시도했지만 쉘이 Remove-Item의 '-rf'매개 변수를 인식 할 수 없습니다." - rm의 PowerShell 별칭 이기 때문 입니다 remove-item. 그리고 -rf* nix 쉘 rm주장입니다. PowerShell의 경우 rm -recursive -force대신 사용하십시오.
KFL

14
위험한! grep .git파일 legit.gif이름 중간에 "git"과 같 거나 애니하는 파일과 일치합니다 ! 답변을 삭제하거나 수정하십시오 !!!
pamatt

4
git dirs에서만 일치하도록 업데이트하십시오 : find. | grep "\ .git /"
Andrew

3
아직 안전하지 않은 경우 :로 끝나는 파일과 디렉토리를 포착합니다 .git. 이어야한다 grep "^\.git/"; 더 나은 (그리고 더 빠른) find호출 에서 이름으로 필터링하는 것입니다 : find . -name .git.
pvgoran

다음 명령을 실행하십시오 : find -name .git | xargs rm -rffind -name .gitignore | xargs rm -rf.
개발자 Marius Žilėnas

14

Linux 환경에서 작업하고 있습니다. 재귀 적으로 모든 Git 파일과 폴더를 제거했습니다.

rm -rf .git

rm -rf .gitkeep

9

Windows 환경에서는 간단히 아래를 입력하여 프로젝트 디렉토리에서 Git 추적을 제거 할 수 있습니다.

rd .git /S/Q

7

루트 폴더에서 실행

find . | grep .git

일치 항목을 검토하고 삭제하고 해당 파일에 맞게 조정하려는 파일 만 포함되어 있는지 확인하십시오. 만족하면 실행

find . | grep .git | xargs rm -rf


5

이 문제를 해결하는 가장 쉬운 방법은 명령 줄을 사용하는 것입니다. 이 명령을 rm -R .git/입력 한 후 Enter ... 또는 rm -rf .git/Enter ...를 누르십시오.


2

Windows 명령 프롬프트 (cmd) 사용자 :

한 줄 명령을 사용하여 소스 프로젝트 폴더 내에서 '.git'을 재귀 적으로 삭제할 수 있습니다.

FOR /F "tokens=*" %G IN ('DIR /B /AD /S *.git*') DO RMDIR /S /Q "%G"
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.