git init
명령어로 현재 폴더를 Git의 관리 하에 들어가게 만들 수 있습니다.
이 폴더를Local Repository
라 할 수 있습니다.
git remote add
나의 Local Repository를 Remote Repository와 연결하여 Github에서 원격으로 관리할 수 있습니다.
git remote add origin <Repository주소>
다른 사람의 Remote Repository에도 연결할 수 있습니다.
git remote add <원하는 이름> <Repository주소>
현재 Local Repository와 연결된 모든 Remote Repository 확인
git remote -v
다른 계정의 Remote Repository를 내 계정으로 가지고 올 때 사용합니다.
Remote Repository에 있는 파일을 내 컴퓨터로 복사해 올 때 사용합니다.
$ git clone Repository주소
명령어를 입력하면 해당 Repository를 내 컴퓨터 Local Repository로 가져와 작업할 수 있습니다.
git status
명령어를 통해commit
되기 전까지의 상태를 확인할 수 있습니다. 즉,staging area
와untracked files
목록에 어떤 것들이 있는지 확인할 수 있습니다.
untracked files
또는 unstaged area
: git에 의해 트래킹 되고 있지 않은 파일들
$ git add <file>
명령어를 통해 staging area
에 올릴 수 있습니다..
을 입력하면 폴더 내 모든 파일을 한번에 추가할 수 있습니다.)$ git restore <file>
명령어로 변경사항을 폐기(discard changes)할 수 있습니다.staging area
: git에 의해 트래킹이 되는 파일, 영역으로 commit
하기 전 내용을 기록
$ git commit -m "메세지"
명령어를 통해 commit
이 가능합니다.commit
을 하면 나의 Remote Repository에 push
할 수 있습니다.
git commit -m "메세지"
명령어로 변경 사항을 저장할 수 있습니다.
git push <origin> <branch>
Local에서 변경,commit
된 사항을 Remote Repository에 업로드 할 때 사용합니다.
git push origin main
, git push name <branch>
등 변경할 수 있습니다.
git pull <name> <branch>
명령어로 다른 사람이 작업하여 Remote Repository에 올린 내용을 받아올 수 있으며, 자동으로 병합됩니다.
git log
명령어로 현재까지 commit된 내역을 확인할 수 있습니다.
git add
명령어로 파일을 staging area
에 추가한 상태에서 파일을 또 수정한다면?이렇게 파일이
staged
이면서modified
인 상태가 됩니다.
git add
로 변경사항을 추가할지
git commit
로 변경사항을 제외하고staged
상태인 파일만 commit할지
git restore
로 변경사항을 취소할지 선택할 수 있습니다.
Untracked area
: Git이 관리하고 있지 않은 영역, Unstaged
상태
Tracked area
: Git의 관리를 받고있는 영역으로, 세가지 상태로 나눌 수 있습니다.
1. Unmodified
: 기존에 commit했던 파일을 수정하지 않은 상태
2. Modified
: commit했던 파일을 수정한 상태
3. Staged
: commit이 가능한 상태
git reset
명령어로commit
한 기록을 취소할 수 있습니다. 단,push
하지 않은 상태에서 가능합니다.
git reset HEAD^
: 가장 최근에 작업한 commit
을 취소할 수 있습니다.HEAD^^
와 같이 사용도 가능합니다. (두개의 commit 취소)options
1. --hard
: 해당 commit의 변경 이력, 변경 내용 전부 삭제합니다.
2. --mixed
: 변경 이력은 삭제, 변경 내용은 남깁니다. unstaged
상태로 남는다.
3. --soft
: 변경 이력은 삭제, 변경 내용은 남깁니다. staged
상태로 남는다.