git을 사용하는데 필요한 명령어를 정리해 보려 합니다.
git [명령어] [옵션]
git init 🔍
git init은 이제부터 init한 폴더에 깃을 사용하겠다고 지정을 해주는 명령어 입니다. 여기서 주의할 점은 init을 했다고 git이 바로 모든 폴더와 파일들을 관리하지 않는다는 점입니다. 우리는 이걸 untracked files라고 합니다.
git remote 🔗
remote는 내 로컬에서 버전관리 하는 폴더를 깃허브의 저장소에 연결을 해주는 명령어입니다.
git remote add <저장소별칭> <저장소 URL> : 저장소 연결
git remote remove <저장소별칭> : 저장소 연결끊기
git remote set-url <저장소별칭> <변경저장소URL> : 저장소 URL 변경
git remote -v : 저장소 연결 확인
git add ➕
untracked files을/를 스테이지에 추가하여 git을 통해 파일과 폴더들을 추적을 할수 있게 만드는 명령어 입니다.
git add 파일/폴더 : 파일/폴더를 스테이지에 추가
git add . : 현재폴더부터 변경된 모든 사항을 스테이지에 추가
git add -A : 최상위 폴더부터 변경된 모든 사항을 스테이지에 추가
git add -p : 변동사항 들을 보여주며 순서대로 각각 commit을 정할 수 있다.
git add -u : 변동이 있는 파일들을 add한다. 하지만 새로 생긴 파일은 add 되지 않음
git add .와 git add -A의 차이
git add .와 git add -A는 둘 다 untracked files인 모든 파일/폴더를 추적을 하게 하는 명령어 입니다. 그렇다면 .과 -A는 무슨 차이가 있는걸까요? 그건 바로 untracked files 범위입니다.
git add . 은 현재 내가 존재하는 폴더 부터 하위 폴더의 파일들까지만 tracking 합니다.
git add -A는 흔히 root 폴더라 부르는 최상위 폴더부터 하위 폴더의 파일들까지 전부 tracking을 합니다.
때문에 내가 현재 어디 폴더에 존재하며 .을 사용하면 빠지는 파일이 존재하는지 확인을 잘 하셔야합니다.
git commit 💾
commit은 스테이지에 추가된 파일들을 하나로 묶어주는 작업을 하는 명령어 입니다. 이걸 버전을 만든다 라고 합니다.
git commit -m "전달할 메세지"
짧은 메세지를 전달을 할때에는 이와같이 git commit -m 로 많이 사용합니다. 하지만 조금 더 구체적인 메세지를 전달을 할때에는 git commit 만 입력한 뒤에 COMMIT_EDITMSG에 직접적으로 작성을 하는방식이 존재합니다.
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# On branch main
# Changes to be committed:
이와같은 메세지 입력 창을 만나 보실 수 있는데요. 입력을 하고싶어도 입력을 할수가 없는 상황을 마주하게 되실겁니다. 입력을 하고싶으시면 i를 입력해주시면 되는데요 하단에 INSERT로 변경이 되었다면 입력이 가능해 집니다. 원하는 메세지를 남겨주신후 esc를 누른 뒤 :wq를 입력해주면 우리가 아는 터미널의 모습을 볼수 있을것입니다.
순서 : git commit 입력 → (입력창이 떴다면) i 입력 → (INSERT로 변경 확인 후)메세지 입력 → (메세지 입력완료 후) esc 입력 → (하단에 INSERT가 사라지면) :wq 입력
git log 📃
commit을 했다면 제대로 commit이 이루어 졌는지 확인을 하는 작업을 해야겠죠? 그때 사용하는 명령어가 바로 git log입니다.
commit 0636910c06a97fe146de3041b943f22eea8e1997 (HEAD -> main, origin/main)
Author: 계정명 <이메일>
Date: Tue Nov 21 17:30:48 2023 +0900
feat:커밋내용
git commit을 제대로 했다면 이와같은 log가 나오는걸 확인 하실 수 있습니다.
git status ⌛
git status는 말그대로 git의 상태를 확인할때 사용하는 명령어 입니다.
현재 내가 어느 브랜치에 위치해 있는지, untracked files가 존재하는지, commit된게 있는지를 확인 할 수 있습니다.
git push / git pull 💻
git push/pull[저장소별칭] [브랜치명]으로 원격저장소에 내 로컬 데이터들을 넘기는데 사용되며
매번 git push/pull [저장소별칭] [브랜치명]로 작성을 하는 방법보다 git push./pull -u [원격저장소명] [브랜치명]를 통해 기본 브랜치설정을 해놓으면 해당 브랜치로 push/pull 하는경우에는 git push/pull만 입력하면 저장소에 로컬 데이터들을 넘길 수 있다.
git push나 pull을 할때 가장 먼저 만나는 오류로는
fatal: The current branch main has no upstream branch. To push the current branch and set the remote as upstream, use
git push --set-upstream origin main
가 있습니다. 이때 발생하는 이유는 원격저장소의 브랜치 설정을 하지 않은상태에서 git push나 git pull을 사용했기 때문인데요. 만약 위와 같은 오류를 보지 못했다면 git push/pull <저장소별칭> <브랜치명>으로 입력을 했을 것입니다. 하지만 처음부터 git push/pull을 사용하면 만나는 오류이니 놀라지 마시고 git push/pull <저장소별칭> <브랜치명>를 입력하던가 아니면 git push/pull -u <저장소별칭> <브랜치명>을 입력을 해 준 뒤에 git push/pull을 입력하면 문제 없이 작동할 것입니다.
'프로젝트 > 프로젝트 관리' 카테고리의 다른 글
[git] git add와 staging area (0) | 2023.12.01 |
---|---|
[git] git 과 github 시작하기 (0) | 2023.12.01 |
버전 관리 시스템 (0) | 2023.12.01 |
마크다운 문법 정리 (0) | 2023.12.01 |
리드미(README.md) 작성하기 (0) | 2023.12.01 |