👩🏻🏫 용어 짚고 넘어가기
로컬 저장소 | .git 폴더 |
원격 저장소 | 로컬 저장소를 업로드하는 곳 : GitHub 저장소 |
워킹트리 | Git에서는 작업폴더를 워킹트리라고 함. 정확히는 작업 폴더에서 .git폴더(=로컬 저장소) 를 뺀 나머지 부분 |
Git 저장소 | 엄밀하게는 로컬 저장소를 의미하지만 넓은 의미로 작업폴더(워킹트리 + 로컬 저장소)를 의미하기도함 즉, .git 폴더를 포함한 작업폴더 전체영역 |
바탕화면에 호호 폴더를 만들었구요 cd 호호 명령어로 호호 폴더로 접근했습니다.
pwd로 현재경로를 탐색했더니 호호가 잘 나오네요
+ 바탕화면 < 프로젝트 폴더에서 코드 관리하는 편입니다.
호호 폴더에서 git status 했더니 .git 이 없다고 뜹니다.
git init -b main 명령어로 git 저장소를 생성하고 main 브랜치 초기화 해줘야합니다.
ls -a 로 모든 파일을 확인해보니 .git 이 생긴 걸 확인할 수 있습니다.
git status하면 현재 상태를 볼 수 있고 요약해서 상태를 보여주는 git status -s 를 쳐보니 아무 것도 안나오네요.
git init
|
현재 폴더에 Git 저장소를 생성합니다. |
git init -b main
|
: 기본 브랜치를 main으로 지정하고 현재 폴더에 Git 저장소를 생성합니다. 현재 폴더에는 [.git ] 이라는 숨김 폴더가 생성되는데 이 폴더가 로컬 저장소입니다. |
git status | : Git 워킹트리의 상태를 보는 명령어 |
git status -s | : git status 명령보다 짧게 요약해서 상태를 보여 주는 명령어 (변경된 파일 많을 때 유용) |
👩🏻🏫 Git 명령어 옵션 설정하기
📌 전역옵션: 현재 사용자를 위한 옵션
일반적으로 개인 PC에서는 전역 옵션을 많이 사용
📌 지역옵션: 현재 Git 저장소에서만 유효한 옵션
공용 PC처럼 여러 사람이 사용하거나 Git을 잠깐만 써야 할 일이 있을 때, 프로젝트마다 다르게 사용할 때 지역 옵션 사용
--global로 전역 user.name 을보니 설정했던 이름이 나옵니다.
--local은 아무것도 안뜹니다
user.name 뒤에 새로운 값을 입력하여 호호 폴더에서의 user.name을 gyuloi로 바꿔줬어요.
후에 --global로 확인해보니 이전 전역옵션값이 그대로 나오고 --local은 이번에 새로 설정한 값으로 업데이트됐습니다.
👩🏻🏫 기본 GIT 명령어 살펴보기
git pull은 fetch + merge 와 같다.
안녕 깃 이라는 텍스트가 써진 file1.txt 를 생성하고
ls로 현재 폴더의 파일목록 확인하면 file1.txt 확인됨
git status 로 상태확인해보니 아직 커밋되지않은 file1.txt파일이 존재한다고 뜸
이제 git add 명령으로 파일을 스테이지에 추가(스테이징) 해보겠습니다.
초록색으로 확인된다면 스테이지 영역에 잘 추가된 것임
🧑🏻🏫 근데 여기서 add 로 스테이징한 파일을 언스테이징 하고싶다면?
=> git reset
git reset | 스테이지 영역에 있는 파일을 스테이지에서 내림 (언스테이징) 워킹트리의 내용은 변경 X (soft, mixed, hard 옵션을 생략할 경우 스테이지의 모든 변경 사항을 초기) |
reset한 후 status 로 확인해보면 다시 file1이 빨간색으로 보임 (add 한 거 무효화)
cat file1.txt로 파일 안의 내용을 확인해보면 파일 내용이 바뀌거나하진 않는 것이 확인됨
다시 돌아와서 add 하고 commit 까지 해보자
git commit -m "커밋메세지" 로 커밋 한 후 git status 하면
nothing to commit, working tree clean
워킹트리와 스테이지 영역이 깨끗해졌음.
커밋이 만들어지면 그 커밋 시점의 파일 상태로 언제라도 복구할 수 있고 커밋은 절대 사라지지 않습니다.
🧑🏻🏫 좋은 커밋메세지의 규칙
1) 제목은 50자 이내로
2) 제목을 영어로 쓸 경우 첫 글자는 대문자로, 동사원형(현재형)으로시작
3) 제목에 마침표 X
4) 본문을 72자 단위로줄바꿈
5) 어떻게 보다 무엇과 왜를 설명
🧑🏻🏫 git log
: 커밋히스토리 확인
저자는 원기올때(Oneline, Graph, All, Decorate) 로 외운다네요
🧑🏻🏫 git help
: 명령어가 뭔지 알려줘
터미널에 git help 깃명령어 입력시 영어 설명을 보여준다.
🧑🏻🏫 git remote, git push
: 커밋한 파일을 깃허브 원격저장소에 올리기
이전에 올린 포스팅 참고하세요
[Github 사용법 A to Z] 2_Github 원격저장소에 코드 올리기, git clone, git pull
지난 챕터에서 git checkout으로 이전커밋으로 돌리기도 하고 다시 되돌아오는 시간여행 해봤습니다.아직 원격저장소에 코드를 안올려봤는데 이번챕터에서 해보겠습니다. Github 웹사이트를 원격
gyulol.tistory.com
push 했는데 fetal: The current branch main has no upstream brach 에러가 떠요
: 로컬 저장소의 main 브랜치와 연결된 원격 저장소의 브랜치가 없어서 발생 한 오류
📌 업스트림 브랜치: 로컬 저장소와 연결된 원격 저장소
업스트림 브랜치를 설정하려면 —set-upstream 또는 -u 를 사용하면 된다.
git push -u origin main
: 푸시와 동시에 업스트림 지정
🧑🏻🏫 git commit -a -m "커밋메세지"
이미 추적되고 있는 파일 (이전에 git add로 추가된 파일이나 이미 커밋된 파일) 들의 변경 사항을 자동으로 스테이징하고 커밋할 수 있음
파일 변경 후 add 명령어 없이 커밋가능
git log 로 확인해보면 이렇게 커밋이 된 것을 볼 수있음.
'I_TStory > GIT' 카테고리의 다른 글
브랜치 생성하기 (branch, switch) (0) | 2024.08.18 |
---|---|
터미널 명령어 정리 (0) | 2024.08.13 |
[Github 사용법 A to Z] 풀리퀘스트, 브랜치 보호 규칙 (0) | 2024.08.13 |
[Github 사용법 A to Z] 스태시: 로컬저장소에서 임시저장 (커밋 X) (0) | 2024.08.11 |
[Github 사용법 A to Z] 리셋: 커밋 취소, 리버트: 커밋 되돌리기 (0) | 2024.08.11 |