Git 원격저장소 및 로컬저장소 파일 삭제


github 에 .gitignore 를 추가하지 않고 add → commit → push 순으로 하여 로컬저장소의 파일들을 원격저장소로 올린 경우, 공개하지 않아도되는 파일들이 존재한다. 이러한 경우 정리를 어떻게 하는 것이 좋을까.

우선적으로 해당 사이트로 접속하여, 현재 본인의 원격저장소 (remote repository) 에 올라간 프로젝트에서 생략할 언어 / 빌드 툴/ IDE 등을 검색해서 gitignore 에 추가할 내용을 합친다.

● git rm [ FileName ]
원격저장소와 로컬저장소에 있는 파일을 제거한다.

ex)
git rm \*.log
git rm \*.classpath

● git rm --cached [ FileName ]
원격저장소에 있는 파일을 제거한다.

ex)
git rm --cached \*.log
git rm --cached \*.classpath

● git rm -r [ DirectoryName ]
원격저장소와 로컬 저장소에 있는 디렉토리를 제거한다.

ex)
git rm -r /target

● git rm -r --cached [ DirectoryName ]
원격저장소에 있는 디렉토리를 제거한다.

ex)
git rm -r --cached /target


조심할 것은, 원격저장소 혹은 로컬저장소에서 파일을 지울 때 경로명의 설정을 올바르게 해줘야 한다는 사실이다. 와일드카드를 이용해서 glob 패턴을 만들었다고 하였다면 그게 정확한 경로인지 판단해줘야 한다는 것이다.


예를 들어, git rm 'apple*' 과 git rm 'apple/*' 는 전혀 다른 의미이다. apple 로 시작하는 어떤 파일들을 제거할 것인지 혹은 apple 디렉토리 내에 전체 파일을 제거할 것인지에 대한 내용이다. 



'버전관리시스템' 카테고리의 다른 글

20190120 Git Remote  (0) 2019.01.20
20190106 Git Fork & Git Clone 차이  (0) 2019.01.06
20181229 Git Branch & Git Rebase (수정 20190120)  (0) 2018.12.29
20180707 Progit  (0) 2018.07.07
20180125 버전관리시스템 (Git)  (0) 2018.01.25
Posted by doubler
,