Git 간단 정리

3000·2021년 8월 8일
0
post-thumbnail

Git 기본 명령어

Init

git init 명령어로 현재 폴더를 Git의 관리 하에 들어가게 만들 수 있습니다.
이 폴더를 Local Repository라 할 수 있습니다.

Remote

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

Fork

다른 계정의 Remote Repository를 내 계정으로 가지고 올 때 사용합니다.

Clone

Remote Repository에 있는 파일을 내 컴퓨터로 복사해 올 때 사용합니다.

$ git clone Repository주소 명령어를 입력하면 해당 Repository를 내 컴퓨터 Local Repository로 가져와 작업할 수 있습니다.

Status

git status 명령어를 통해 commit되기 전까지의 상태를 확인할 수 있습니다. 즉, staging areauntracked files 목록에 어떤 것들이 있는지 확인할 수 있습니다.

untracked files 또는 unstaged area : git에 의해 트래킹 되고 있지 않은 파일들

  • $ git add <file> 명령어를 통해 staging area에 올릴 수 있습니다.
    (file명 대신 .을 입력하면 폴더 내 모든 파일을 한번에 추가할 수 있습니다.)
  • $ git restore <file> 명령어로 변경사항을 폐기(discard changes)할 수 있습니다.

staging area : git에 의해 트래킹이 되는 파일, 영역으로 commit하기 전 내용을 기록

  • $ git commit -m "메세지" 명령어를 통해 commit이 가능합니다.
  • commit을 하면 나의 Remote Repository에 push할 수 있습니다.

Commit

git commit -m "메세지" 명령어로 변경 사항을 저장할 수 있습니다.

Push

git push <origin> <branch> Local에서 변경, commit된 사항을 Remote Repository에 업로드 할 때 사용합니다.

  • 상황에 따라 git push origin main, git push name <branch> 등 변경할 수 있습니다.

Pull

git pull <name> <branch> 명령어로 다른 사람이 작업하여 Remote Repository에 올린 내용을 받아올 수 있으며, 자동으로 병합됩니다.

  • 자동 병합시 충돌이 생길 수 있는데, 확인 후 직접 수정하거나 자동으로 수정하게 할 수 있습니다.

Log

git log 명령어로 현재까지 commit된 내역을 확인할 수 있습니다.


추가학습

만약 git add 명령어로 파일을 staging area에 추가한 상태에서 파일을 또 수정한다면?

이렇게 파일이 staged 이면서 modified인 상태가 됩니다.
git add로 변경사항을 추가할지
git commit로 변경사항을 제외하고 staged 상태인 파일만 commit할지
git restore로 변경사항을 취소할지 선택할 수 있습니다.


Git의 세가지 영역 및 상태란?

Local Repository

Untracked area : Git이 관리하고 있지 않은 영역, Unstaged 상태

Tracked area : Git의 관리를 받고있는 영역으로, 세가지 상태로 나눌 수 있습니다.
1. Unmodified : 기존에 commit했던 파일을 수정하지 않은 상태
2. Modified : commit했던 파일을 수정한 상태
3. Staged : commit이 가능한 상태


Reset

git reset 명령어로 commit한 기록을 취소할 수 있습니다. 단, push하지 않은 상태에서 가능합니다.

  • git reset HEAD^ : 가장 최근에 작업한 commit을 취소할 수 있습니다.
    HEAD^^와 같이 사용도 가능합니다. (두개의 commit 취소)

options
1. --hard : 해당 commit의 변경 이력, 변경 내용 전부 삭제합니다.
2. --mixed : 변경 이력은 삭제, 변경 내용은 남깁니다. unstaged상태로 남는다.
3. --soft : 변경 이력은 삭제, 변경 내용은 남깁니다. staged상태로 남는다.

0개의 댓글