Git-원격 저장소에서 파일을 삭제하는 방법


83

원격 git 저장소에서 파일을 어떻게 삭제할 수 있습니까? 작업 복사본 로컬 저장소에서 방금 삭제 한 파일이 있으며 해당 원격 저장소에서 삭제하고 싶습니다.

답변:


110

작업 트리에서 파일을 삭제 한 경우 삭제를 커밋합니다.

git commit -a -m "A file was deleted"

커밋을 업스트림으로 푸시합니다.

git push

6
또는git commit -am "A file was deleted"
Malloc 2013

3
원격 소스에서 제거하는 것은 어떻습니까? 제 경우에는 로컬 파일을 삭제했지만 동시에 git ignore list에 추가 했으므로 원격 파일에 커밋을 푸시 할 때 더 이상 추적되지 않으므로 리포지토리에 남아있었습니다.
Nathan Hornby

1
원치 않는 파일을 제거하기 전에 해당 파일이 .gitignore. 이제 브랜치에서 더 이상 원하지 않는 파일을 소스 트리에서 이동하거나 삭제하십시오. 그런 다음 git add ., git status(검토하기 위해),를 수행 git commit -m "removed files X,Y,Z"한 다음 다시 추가 .gitignore하여 소스에 다시 들어 가지 않도록합니다.
ecoe

45

명령 사용 :

git rm /path to file name /

뒤에

git commit -m "Your Comment"

git push

파일이 저장소에서 삭제됩니다.


1
누군가가 디렉토리에서 모든 파일을 삭제하려는 경우 -r재귀 옵션을 사용하십시오 . 따라서 명령은 위의 답변에서 언급 한 것처럼 및 git rm -r /path-to-file-name/수행합니다 . commitpush
Kunal Dethe 2014 년

20
  1. 삭제 된 파일을 원격으로 푸시하려면

git add 'deleted file name'

git commit -m'message'

git push -u origin branch

  1. 원격 및 로컬에서 파일을 삭제하려는 경우

git rm 'file name'

git commit -m'message'

git push -u origin branch

  1. 원격에서만 파일을 삭제하려는 경우

git rm --cached 'file name'

git commit -m'message'

git push -u origin branch


18

더 간단한 방법

git add . -A
git commit -m "Deleted some files..."
git push origin master

-A 작업 트리에 일치하는 파일이있을뿐만 아니라 색인에 이미 항목이있는 색인을 업데이트합니다. 이렇게하면 작업 트리와 일치하도록 색인 항목이 추가, 수정 및 제거됩니다. ( http://git-scm.com/docs/git-add ) 에서 가져옴


6

.gitignore (또는 .gitignore가없는) 전에 파일 또는 폴더를 푸시 한 경우 :

  • .gitignore에서 주석 처리
  • 파일 시스템에 다시 추가
  • 폴더에서 제거
  • git 파일 추가 && 커밋
  • git push

3

삭제 된 파일을 커밋하고 푸시하면됩니다. 그런 다음 원격 저장소에서 제거해야합니다.



1

Git 원격 저장소 파일 삭제 간단한 솔루션 :

git commit (삭제하려는 경로가있는 파일 이름) -m "파일이 삭제되었습니다"

git push

여러 선택 파일도 원격 저장소에서 같은 방법으로 삭제할 수 있습니다.


1

Visual Studio 코드 :

탐색기보기 에서 파일을 삭제하십시오 . 분기보기 에서 줄이 그어진 것을 볼 수 있습니다 . 그런 다음 커밋하고 동기화하십시오.

여기에 이미지 설명 입력

주의 : 파일이 .gitignore 목록에있는 경우 삭제 "업데이트"가 푸시되지 않으므로 표시되지 않습니다. 그래도 VS Code는이 경우 경고합니다. -> gitignore에서 파일 / 폴더를 일시적으로 제외합니다.


0

가장 쉬운 방법은 일시적으로 로컬 디렉토리에서 파일을 이동 한 다음 원격 저장소에 변경 사항을 커밋하는 것입니다. 그런 다음 로컬 리포지토리에 다시 추가하고 .gitignore를 업데이트하여 원격으로 다시 커밋하지 않도록합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.