Git에서 자주 쓰는 명령어
지난 시간에 git init 명령까지 하고 git status로 상태확인을 해봤다.

추적하지 않는 파일(Untracked files)에 test.txt가 있음을 알 수 있다.
git init 명령 후에는 git은 폴더 안의 파일들의 존재는 알지만 tracking을 하고 있는 상태가 아님.
Git은 시작부터 알아서 모든 파일들을 트래킹하고 있진 X
즉, 파일을 관리하고 있는 상태가 아님 👉 버전 관리가 필요한 파일들을 지정해서 add해야한다.
git add
그래서 git add [파일명] 명령을 해서 관리가 필요한 파일을 알려줘서 트래킹하도록 하면된다.
add된 파일들은 스테이징 영역에 추가되고, 이 파일들은 관리되고 추적되는 상태가된다.
Staging Area(Index) ?
✅ 작업 디렉토리와 최종 커밋 간의 중간 영역
✅ 수정된 파일 중 어떤 것을 다음 커밋에 포함시킬지를 결정하는 장소
✅ 스테이징 영역에 있는 파일들은 아직 커밋되지 않았지만, 이 파일들의 현재 상태가 추적되어 저장된다. 따라서 이후에
git commit 명령어를 사용하여 스테이징 영역에 있는 변경 사항을 커밋하게 되면, 그 시점의 파일 상태가 local repository에 기록
test.txt 파일을 추적 관리하기 위해 add했다.

add가 성공적으로 실행되면 커밋할 변경 사항(Changes to be committed)에 test.txt가 생긴다.
git commit
저장소에 새로운 버전을 만드는 것, 현재 작업 디렉토리의 상태를 스냅샷으로 저장하는 것을 '커밋한다(commit)'라고 한다.
저장소에 변경사항을 커밋해보자.

git commit 명령어를 입력했더니 아래와 같이 나왔다. 이 상태에서 c를 두번 누른다. (c: change)

Insert로 바뀐 것 확인 > 커밋 메세지 작성 > esc

shift + : 누른다

wq (여기서 그만하고 닫겠다는 의미) 누르기 > 엔터키

git status로 현재 디렉토리 상태를 확인

add 명령어로 버전으로 저장할 파일들을 모으고 있었고
➡️ commit 명령어로 "그 파일들을 버전으로 만들어 로컬 레포지토리에 저장 시켜준다."
➡️ commit이 된 후에 .git 폴더 안의 대기 공간에 있던 (버전 저장하기 전에 관리 중인) 파일들은 .git 폴더에서는 없어짐. (아직 원격저장소인 GitHub에 저장되지 않고 로컬 저장소에 저장된 상태)
git log
Git 저장소의 커밋 히스토리를 조회

GUI로 init, add, commit하기
폴더 생성

소스제어 > 리포지토리 초기화(Initialize Repository) 클릭

파일을 안만들었기때문에 파일 생성 > 내용 작성

+ 버튼을 클릭하면 git add가 된다.

U -> A로 글자가 변했고 성공적으로 git add됐음 > git commit하기위해 커밋 버튼 클릭

커밋 메세지를 작성하라는 창이 뜬다

commit message를 작성하고 저장(ctrl + S)

오른쪽 상단에 있는 체크 표시를 클릭 > 커밋 메세지를 수락하면 커밋된다.

GUI로 깃 히스토리 확인하기
1. 왼쪽 확장 탭을 클릭해서 git history를 검색해 설치

2. 소스 제어에 들어가면 시계 모양의 아이콘이 생김. 시계 모양 아이콘을 클릭.

3. 내가 작성한 커밋 메세지가 나오고 커밋한 히스토리를 확인 할 수 있다.

First Commit을 클릭하면 어떤 파일을 수정했는지 등 더 자세히 알 수 있다.
view를 클릭하면 내가 어디를 수정했는지 파일로 확인할 수 있다.
초록과 빨강이 섞인 네모 박스들에 마우스 커서를 올리면 1개가 추가됐다는 것을 알 수 있다.

GitHub Repository 생성하기
레포지토리 이름 작성

프로젝트를 공개할건지 비공개할건지 선택

Public: 이 저장소를 여러사람들과 오픈해서 쓸거니
Private: 이 저장소를 나만 쓸거니
Add a README file / Add .gitignore / Choose a license
이 세가지는 선택하지 않고 Create repository 버튼 클릭했음

ReadMe file을 처음부터 추가해도되지만 나중에 따로 직접 추가하는 것을 추천
리드미 파일이 처음부터 있을 때는 깃허브를 처음 접할 때 좀 더 복잡하다.
깃허브 연동하기 (새로운 레포지토리 생성한 후)
원격 저장소(=깃허브 레포지토리)에 로컬에 있는 소스 코드를 업로드하기 전에 깃허브 레포지토리와 연결시켜야한다.

git remote add 원격저장소별칭 원격저장소URL
원격 저장소 URL은 어디서 찾을 수 있나?


push하기 위한 명령어들
git remote add origin [원격저장소 URL]
git branch -m main
git push -u origin main
git remote -v 명령어: 원격 저장소의 이름과 해당 저장소의 URL을 표시
👉 깃허브와 연동은 되었지만 코드를 옮긴 상태 X 알 수 있다.

*fetch: 서버에 있는 코드를 가져올 때 사용
*push: 로컬에 있는 코드를 깃허브에 백업/업로드할 때 사용
깃허브 레포지토리에 로컬 저장소에 있는 소스코드 올리기
git push [원격저장소별칭] [원격저장소레포지토리명]
push 명령을 하기 전에 git log로 커밋 히스토리 확인

* HEAD: 현재 작업 중이 브랜치의 최신 커밋을 가리킴
로컬에 있는 소스코드를 업로드하기위해 git push origin main

깃허브 레포지토리를 보면 소스코드가 올라간 것을 확인할 수 있다.

어떤 명령어를 입력한 후에는 git log를 하는 습관이 중요하다!
그래서 git log를 해보니 달라진 점이 있다.
Push 전에는 HEAD -> main만 존재했는데 Push 하고나니 HEAD가 main과 origin/main을 가리키고 있다.

'TIL' 카테고리의 다른 글
| TIL 7일차 - CSS, Javascript 간단 정리 (0) | 2023.11.30 |
|---|---|
| TIL 6일차 - 웹의 이해, HTML/CSS/Javascript 간단 소개 (2) | 2023.11.23 |
| TIL 5일차 - git branch (1) | 2023.11.22 |
| TIL 4일차 - git clone, git push, git pull, branch (0) | 2023.11.22 |
| TIL 2일차 - VCS/ Git (0) | 2023.11.16 |