[Git] Git 기본사용법

jayce·2024년 6월 17일

git status

git status ⭐️⭐️⭐️⭐️⭐️

  • Working directory 와 Staging Area의 상태를 표시
  • 주로 파일의 현재 상태를 확인할 때 사용
  • 자주 쳐서 파일이 어떤 상태인지 확인해보는게 좋음!

git add

git add filename

  • Working directory에서 생성된 파일을 Staging area (Index) 에 추가
  • 처음 생성된 파일을 추가할 때는 add과정을 생략하고 commit이 불가함
  • Modified 상태의 파일을 Staged 상태로 변경 ( 이러한 경우 add 과정 생략하고 git commit -a -m <commit_message>로 커밋이 가능함 )

git commit

git commit -m <commit_message>
git commit -a -m <commit_message>

  • Working Directory에서 생성된 파일을 Staging Area에 추가
  • ❗반드시 -m commit message 포함 ⭐⭐⭐⭐⭐
    • message를 의미있게 작성했다면, commit message로 해당 버전을 찾을 수 있음
    • 영문으로 작성 추천
  • -a 옵션으로 Staged 상태를 생략가능 (Modified 상태에서 바로 Commited로 상태로 변경)

git ignore

  • git에서 무시해야 하는 파일 패턴을 관리
  • local repository에서 git init으로 git 파일을 생성한 경우 따로 만들어 줘야 함.
  • git clone 으로는 생성할 때 옵션으로 선택이 가능
# 확장자가 .a인 파일 무시
*.a

# 윗 라인에서 확장자가 .a인 파일은 무시하게 했지만 lib.a는 무시하지 않음
!lib.a

# 현재 디렉토리에 있는 TODO파일은 무시하고 subdir/TODO처럼 하위디텍토리에 있는 파일은 무시하지 않음
# 경로 상에 있는 TODO만 무시
/TODO

# build/ 디렉토리에 있는 모든 파일은 무시
bluid/

# doc/notets.txt 파일은 무시하고 doc/server/arch.txt파일은 무시하지 않음
# doc 바로 밑에 있는 txt는 무시하지만 다른 경로의 txt는 무시하지 않음 
doc/*.txt

# doc 디렉토리 아래의 모든 .pdf 파일을 무시
doc/**/*.pdf

git rm

git rm <filename>

  • git에서 관리하는 파일 삭제
  • staging Area의 파일을 삭제하고 commit
  • Working Directory에서도 삭제됨
    💡 만약 git명령어를 쓰지 않고 rm만으로 삭제한 경우 파일이 Modified 상태가 되며, 이때 git rm을 해주면 Staged 상태가 된다.

git mv

git mv <old_name> <new_name>

  • git에서 파일이름 변경시 사용
  • 파일이름에 경로도 포함

파일을 복사하고, 원본 파일을 삭제한 뒤 git add하는 동작과 같다

cp <old_name> <new_name>
git rm <old_name>
git add <new_name>

실습

Git Repository 생성 후 확인

파일(test.txt) 생성 후 확인

🚨 결과 : untracked상태

Untracked 상태의 파일을 add 후 확인

git add * 하면 안보이는 쓸데없는 파일들까지 올라갈 수 있으니 주의!

commit 후 status로 확인

❗ message를 주지 않으면 commit이 실행되지 않으니 message 필수

파일 수정한 후 add해준 후 commit

  • cat test.txt : 파일 안에 내용 출력
  • cat > test.txt : 타이핑한 내용으로 덮어쓰기 (CTRL + D 로 저장)
  • cat >> test.txt : 덮어 쓰지 말고 아랫줄에 추가

파일 다시 수정 후 commit

💡 modified 된 상태에서는 add 생략하고 바로 commit 가능

무시할 파일 생성 - csv 파일을 무시하도록 편집

-> Staged 상태, Modified 상태의 두가지 모두 있음 -> 둘 중 먼저 해결하는 순서는 상관 X

순서 상관없이 해결

💡 나의 경우 add후 commit

.gitignore 테스트

-> 잘 무시하는 것 확인

파일 삭제하기

🚨 git rm 이 아니라 터미널 명령어 rm 을 사용해 Working Directory에서 파일 삭제한 경우

  • 실수로 파일을 먼저 지워버리면 git rm 하여 Git에도 지워주면 된다

저장소에서 파일 이름 변경

경로 바꾸는 경우도 이름이 바뀜 (git mv가 아닌 터미널 명령어 mv 사용했을 경우)

  • 삭제된 파일과 새로운 파일
  • 이름은 같고 경로만 달라져서 새로운 파일로 인식!
  • 둘 중 먼저 해결하는 순서는 상관 X
    ⠀ ⠀
  • 해결1 : src 폴더내의 파일을 add
  • 해결2 : 기존위치의 파일을 삭제 후 최종 commit

0개의 댓글