git init을 입력하면 git init을 입력한 위치의 모든 파일들이 Git의 관리를 받게된다.
git init
git config --global init.defaultBranch 브랜치이름
git branch -m 변경할_브랜치_이름
init이 성공한다면 "Initialized empty Git Repository in ~”라는 문구가 터미널에 뜬다. 최근에는 master라는 표현이 다소 인종차별적인 뉘앙스를 가질 수 있어 기본 브랜치 이름을 main으로 많이 사용한다.
git config --global init.defaultBranch main //기본브런치네임설정 git branch -m main //현재위치하는 브랜치 이름 변경
git init을 입력하면 디렉토리 내에 .git 디렉토리가 생성된다. .git디렉토리를 확인하기 위해선 ls -a명령어를 입력하여 확인할 수 있다.
.이 붙으면 디렉토리 또는 파일이 숨김처리되어 ls명령어로는 확인할 수 없다.
// .git파일 확인하기 ls -al
Work space는 git init을 입력한 직 후, 다른 어떠한 Git 명령어도 입력하지 않은 상태의 파일들이 존재하는 영역이다.
Git으로 관리되고 있는 파일들의 상태는 git status 명령어로 확인할 수 있다.
git status
결과는 아래와 같다.
git init으로 .git이 파일관리를 하기 시작하였다면 git이 파일의 상태를 추적할 수 있는 상태로 만들어주어야 한다. 추적(tracked)상태인 파일들은 수정, 삭제등 파일의 변경내용을 감지할 수 있다. 그러나 Untracked상태는 파일의 내용을 변경하더라도 내용변경을 감지하지 못한다.
Work space에서 작업을 마친 파일을 Staging area로 옮겨서 모아두고, 추후 어느 정도의 단위 작업이 끝나면 Staging area에 모인 파일들을 한 번에 Local repository로 저장한다.
파일을 스테이징하다 = Staging area로 파일이동
// 워크스페이스에서 스테이징하기 git add . // 스테이징 된 파일을 다시 워크스페이스로 되돌리기 git rm --cached (file이름) git rm --cached hello_git.txt
Staging area에 있는 파일들은 commit을 해주어야 Tracked(추적) 상태가 된다.
git commit -m "First commit"
커밋된 상태에서
git log
결과
(HEAD -> main)은 해당 Commit 내역이 main 브랜치 내에서 최신 Commit임을 나타낸다. 커밋 후 워크스페이스에서 내용을 수정한 뒤 git status를 하게되면 git이 수정된 파일을 감지하고 안내를 해준다.
이후 git add . 로 스테이징 한 뒤 스테이징을 취소하고 싶다면 git restore --staged (파일명)의 명령어를 입력한다. 그러면 그 파일은 다시 워크스페이스로 돌아간다.
// 스테이징 취소하기 한번 커밋했던 파일이 추적상태가 되었을 때 스테이징 취소하기 git restore에 --staged 파일명
작업을 하기전 깃허브 Remote repository에서 원격 저장소를 생성해야한다.
Github에 로그인한 후, 우상단 프로필 이미지를 클릭 - Your repositories를 클릭 - new버튼 클릭 - Owner와 Repository name은 각각 만들고자 하는 Remote Repository의 소유자와 저장소 이름 설정 후 - create repository버튼 클릭
보통 원격저장소별칭에는 origin이라는 단어를 관례적으로 많이 사용한다.
// Local Repository와 연결된 Remote repository가 있는지 확인하기 git remote --v // Local과 Remote 연결하기 git remote add 저장소변수명 저장소URL git remote add origin https://github.com/YoungHyun-Cho/git_practice.git // 연결해제 git remote rm 원격_저장소_별칭 git remote rm origin // 잘 연결되었는지 확인 git remote --v
git push origin main
git clone을 사용하여 Remote repository를 로컬로 복제하면 .git이 자동으로 만들어지므로 별도로 git init이나 git remote add를 입력할 필요가 없다.
클론받은 후 git remote --v를 하면 자동으로 연결된 것을 확인할 수 있다.