본문 바로가기

공부방/Upstage AI Lab 4기

Github 레파지토리 만들고 나서 연결, 깃허브에서 파일 삭제

깃허브에 레파지토리를 만든다.

ssh 저장소를 복사해놓는다.

VS Code에 돌아가서 깃허브에 올리고 싶은 폴더에 들어간 뒤에 git init을 한다.

git remote add origin git@github.com:사용자명/저장소이름.git

git remote -v

를 하면 연결된 것을 확인할 수 있다.

이렇게 한 다음에 git pull origin main, git push origin main 이런 식으로 풀과 푸시를 해주면 된다.


<깃허브에 올리고 싶지 않은 파일 삭제하기>

  1. 로컬에서 파일 삭제:
    먼저 로컬 저장소에서 해당 파일을 삭제합니다.
  2. rm 불필요한_파일.txt
  3. .gitignore 파일 수정:
    앞으로 이런 파일들이 자동으로 무시되도록 .gitignore 파일에 추가합니다.
  4. echo "불필요한_파일.txt" >> .gitignore
  5. Git에서 파일 추적 중지:이 명령은 Git이 해당 파일을 더 이상 추적하지 않도록 합니다.
  6. git rm --cached 불필요한_파일.txt
  7. 변경사항 커밋:
  8. git commit -m "불필요한 파일 삭제 및 .gitignore 업데이트"
  9. GitHub에 변경사항 푸시:
  10. git push origin main

 

<로컬에서 삭제하지 않고 깃허브에서만 지우고 싶을 때>

  1. 먼저 해당 파일을 Git의 추적 목록에서 제거합니다:여러 파일을 한 번에 제거하려면:
  2. git rm --cached 파일1.확장자 파일2.확장자 파일3.확장자
  3. git rm --cached 파일명.확장자
  4. 변경 사항을 커밋합니다:
  5. git commit -m "원격 저장소에서 불필요한 파일 제거"
  6. 변경 사항을 GitHub에 푸시합니다:
  7. git push origin main
  8. (선택사항) 향후 이 파일이 실수로 다시 추가되는 것을 방지하려면 .gitignore 파일에 추가합니다:
  9. echo "파일명.확장자" >> .gitignore

 

<폴더를 통째로 삭제하고 싶을 때>

폴더와 그 안의 모든 내용을 재귀적으로 제거하려면 -r (recursive) 옵션을 추가해야 합니다. 다음과 같이 사용하세요:

git rm -r --cached 폴더명

이 명령어의 의미는 다음과 같습니다:

  • rm: 제거
  • -r: 재귀적으로 (폴더 내의 모든 파일과 하위 폴더 포함)
  • --cached: Git의 추적 목록에서만 제거 (로컬 파일 시스템에서는 유지)

이 명령을 실행한 후에는 다음 단계를 따라야 합니다:

  1. 변경 사항을 커밋합니다:
  2. git commit -m "원격 저장소에서 불필요한 폴더 제거"
  3. 변경 사항을 GitHub에 푸시합니다:
  4. git push origin main
  5. (선택사항) 향후 이 폴더가 실수로 다시 추가되는 것을 방지하려면 .gitignore 파일에 추가합니다:
  6. echo "/폴더명/" >> .gitignore