Git에 대해 학습한 내용을 정리하는 포스팅입니다.
출처에서 더 자세한 내용을 확인할 수 있습니다.
📍 MacOS 기준으로 작성되어있습니다.
버전관리를 하지 않는 기존 프로젝트를 Git으로 관리하고 싶은 경우에 해당합니다
git init
다른 프로젝트에 참여하려거나(Contribute) Git 저장소를 복사하고 싶은 경우에 해당합니다.
git clone 저장소url
저장하기에 앞서, 워킹디렉토리에서 관리하는 파일의 상태에 대해 알아야합니다.
파일의 상태는 tracked 와 untracked로 나뉘어집니다.
프로젝트에 새로운 파일(git_test)를 추가한 후 git의 상태를 확인해 보겠습니다.
따라서 'git add git_test' 를 실행해 git_test 파일을 git이 추적하도록 해줍니다.
이제 tracked 상태가 된 git_test 파일을 수정해보겠습니다.
이는, git_test 파일이 tracked 상태이지만 아직 staged상태는 아니라는 것입니다.
따라서, git_test 파일을 staged 상태로 만들기 위해서 git add 를 실행해야합니다.
즉, git add 는 파일을 새로 추적할 때와 수정한 파일을 staged 상태로 만들 때 사용합니다.
- add는 프로젝트에 파일을 추가한다기 보다 다음 커밋에 추가한다는 의미에 더 가깝습니다.
생성하거나 수정한 후 git add 로 추가된 파일들은 이제 커밋할 수 있습니다.
git commit 을 실행하면 git 설정에서 지정된 편집기가 실행됩니다.
i를 눌러 입력모드로 변경한 후 commit message를 작성합니다.
esc 를 눌러 명령모드로 변경한 후, :wq!를 실행해 편집기에서 빠져나옵니다.
- esc : 편집모드 -> 명령모드로 변경
- :wq! : 변경된 내용 저장 후 종료
다음과 같이 "git_test commit" 이라는 커밋 메세지를 포함하는 commit이 실행됩니다.
Git은 1), 2), 3) 에서 수행한 git add 와 git commit 메세지 작성을 간단하게 실행하는 방법을 제공합니다.
git commit -a -m "add changes"
- -a : Tracked 상태의 파일을 자동으로 Staging Area에 넣음
- -m : 커밋 메세지를 인라인으로 첨부
Git에서 파일을 삭제하기 위해서는 Staging Area에서 파일을 삭제한 후에 커밋해야합니다.
이는 워킹 디렉토리에 있는 파일도 삭제하기 때문에 실제 파일도 삭제됩니다.
git rm 삭제하려는 파일명
git commit