처음 개발을 시작했던 시절.
맥북으로 VSC에서 개발을 하는 도중, 난 별로 한게 없는데 왜 갈수록 변경 사항이 늘어나는거지? 오류인가? 하며,
대수롭게 여기지 않았던 회피형 인간은 나는 나중에 업보 청산을 하게 되는데..
어느 순간 Git 알림이 13K+를 넘어가고 있었다.
이걸 어떻게 지우지? 하며 모든 변경 사항을 Discard Changes를 해버렸고, 결국 내 모든 파일과 설정이 삭제되어 버렸다.
왜 이런 일이 생겨버린걸까.. 하며 원인을 찾아보았는데..
사용자의 홈 디렉토리?( ~, /Users/이름 )에서 git init 명령어가 실행되어 그랬다고 한다.
git init 을 실행하면 그 폴더와 그 안의 모든 하위 폴더를 Git의 감시가 시작한다고 하니.. 나의 모든 것이 Git에 올라갔던거다..!....
원래는 특정 프로젝트 폴더 안에서 git init를 실행했어야 했는데, 터미널을 켜자마자 바로 입력해서 이런 일이 발생한것 같다.
만약 이런 일이 생긴다면 어떻게 해결해야 할까? > 홈 디렉토리에 잘못 생성된 .git 숨김 폴더를 삭제해야 한다.
해결 방법
1. git이 저장된 상위 디렉터리 찾기
터미널 실행 후, git rev-parse --show-toplevel 입력 > git 경로가 나온다.
2. cd 를 이용해 git의 상위 디렉터리로 이동
cd 상위_디렉터리_경로
3. 이동한 해당 디렉토리에 들어간 파일 목록 확인 해보기 > ls -a
4. git 삭제하기 > rm -rf .git
+ 여기서, rm -rf는 무조건 삭제 명령이니 현재 위치를 꼭꼭 확인하도록 하자.
5. git 파일이 삭제 되었는지 확인 > ls -a
추가로 터미널 명령어에 대해 정리해 보자 !
cd 명령어 모음
1. 기본 이동
cd [폴더명] : 현재 위치에 있는 특정 폴더로 들어간다.
cd .. : 한 단계 위 폴더로 나간다.
cd ../.. : 두 단계 위 폴더로 한꺼번에 나간다.
2. 경로 바로가기
cd ~ : 어느 위치에 있든 내 컴퓨터의 홈 디렉토리(/Users/사용자이름)로 즉시 이동
cd - : 바로 직전에 있었던 폴더로 돌아갑니다. (실수로 폴더를 잘못 나왔을 때 유용)
cd / : 시스템의 최상위 루트(Root) 폴더로 이동합니다.
3. 한 번에 깊이 들어가기 ( Tab 키를 누르면 자동 완성 됨 )
cd src/components/header : 하위 폴더 이름을 슬래시(/)로 연결하면 여러 단계를 한 번에 들어갈 수 있다.
+ 가고 싶은 폴더가 너무 깊은 곳에 있어서 경로를 다 치기 귀찮다면?
> 터미널에 cd 를 입력하고(공백 한 칸 포함), Finder에서 해당 폴더를 마우스로 잡아서 터미널 창에 드래그 앤 드롭 해보기.
+ 공백이 있는 폴더명: 만약 폴더 이름에 공백이 있다면 cd My\ Project라고 치거나 cd "My Project"처럼 따옴표로 감싸줘야 한다.
(폴더명에 공백 대신 하이픈-이나 언더바_를 쓰기)
ls 명령어 모음
1. 기본 보기
ls: 현재 폴더의 파일과 폴더 이름을 간단히 보여준다.
ls -l: 상세 정보(권한, 소유자, 파일 크기, 수정 날짜 등)를 포함하여 리스트 형태로 보여준다.
ls -a: 숨겨진 파일까지 전부 보여준다.
+ .git 폴더나 .gitignore 파일은 이름 앞에 .이 붙은 숨김 파일이라 -a를 붙여야 확인 가능!
2. 조합해서 쓰기
ls -la : 숨김 파일을 포함하여 상세 정보까지 한 번에 보기.
3. 유용한 추가 옵션
ls -lh: 파일 크기를 K, M, G 단위로 읽기 편하게(Human-readable) 보여줍니다. (ls -l은 바이트 단위라 읽기 힘들거든요.)
ls -t: 수정 시간(Time) 순서대로 정렬해서 보여줍니다. (방금 수정한 파일을 찾을 때 좋아요.)
+ pwd : 현재 내 위치 확인
+ clear : 터미널 청소
그렇다면, 새로운 프로젝트를 시작할때 git 설정은 어떻게 해야될까?
1. 새로운 프로젝트를 생성 할 경우
# 0. 원하는 위치로 이동
cd ~/Desktop
# 1. 새 프로젝트 폴더 만들기
mkdir my-new-project
# 2. 만든 폴더 안으로 들어가기
cd my-new-project
# 3. Git 초기화!
git init
2. .gitignore 설정
모든 파일을 전부 기록할 필요가 없으므로, 필요없는 파일을 지정해 주는 기능을 한다.
프로젝트 최상위 폴더에 .gitignore 파일을 만들고, Git이 무시해야 할 목록을 적는다.( node_modules, .env, .DS_Store 등)
직접 쓰기 어렵다면? > gitignore.io 참고하기 !
3. 첫번째 기록 남기기
첫 번째 커밋을 해야 브랜치가 실체화 된다.
touch README.md # 설명 파일 생성
git add README.md # 장바구니에 담기
git commit -m "Chore: Initial commit" # 첫 기록 완료!
4. GitHub에 연결하기
미리 만들어둔 GitHub 레포지토리의 링크를 가져와 연결
git remote add origin https://github.com/내아이디/내프로젝트.git
5. 첫 Push
로컬에서 만든 내용을 서버로 처음 보내기.
git push -u origin main
# 앞으로 git push = git push origin main 이라는 뜻 (다른 브렌치랑 헷갈리지 않게 주의!)
+ GitHub에 있는 코드를 가져올 때 = Clone 하기
이미 GitHub에 올려둔 저장소가 있다면 init을 할 필요가 없다.
# 1. 코드를 저장할 부모 폴더로 이동
cd ~/Documents/projects
# 2. 주소를 복사해서 클론 (이때 폴더가 자동으로 생성됨)
git clone https://github.com/사용자이름/저장소이름.git
# 3. 생성된 폴더로 이동
cd 저장소이름
+ 내가 제대로 한게 맞을까? 의문이 들때 필요한 git 명령어
- git status : 현재 작업 상태를 보여줌. (nothing to commit, working tree clean이 나오면 성공)
- git log : 커밋한 기록들을 보여줌. ( 나갈 때는 q 누르기)
- git remote -v : 현재 내 폴더가 어느 깃허브와 연결되어 있는지 알려줌.
'개발 > 문제 해결' 카테고리의 다른 글
| Mac에서 MariaDB 설치 후, DBeaver 연동 중 발생한 오류들 (1) | 2026.01.24 |
|---|---|
| 인턴이 TF팀에서 협업하는 법(1) : Git Branch 전략 (0) | 2026.01.24 |