yoongrammer

Git 사용방법 (init, clone, add, commit ..) 본문

VCS (Version Control System)/git

Git 사용방법 (init, clone, add, commit ..)

yoongrammer 2020. 11. 16. 23:22
728x90

목차

    Git 저장소 만들기


    Git 저장소 만드는 방법은 두 가지가 있습니다.

     

    1. git init : 빈 git 저장소를 만들거나 기존 저장소를 다시 초기화하는 명령어입니다.

    $ mkdir my_project
    $ cd my_project
    $ git init

    위 명령은 my_project를 git 저장소로 만드는 예제입니다.

     

    2. git clone <url> : <url>에 해당하는 저장소를 복제해 새 디렉터리로 가져오는 명령어입니다.

    $ git clone https://github.com/libgit2/libgit2

    위 명령은 libgit2라는 디렉터리를 만들고 그 안에 https://github.com/libgit2/libgit2 에 있는 데이터를 모두 가져오는 예제입니다.

     

    아래와 같은 명령을 사용하여 저장소를 Clone 하면 libgit2이 아니라 다른 디렉터리 이름으로 Clone 할 수 있습니다.

    $ git clone https://github.com/libgit2/libgit2 mylibgit

    mylibgit 디렉터리에 데이터 가져오는 예입니다.

    수정하고 저장소에 저장하기


    Git 파일의 라이프 사이클은 아래와 같습니다.

    참고: https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository 

    워킹 디렉터리의 모든 파일은 크게 TrackedUntracked로 나뉩니다.

    Tracked 파일은 이미 git 저장소에 포함돼 있던 파일이고, Untracked 파일은 git 저장소에 없던 파일입니다.

     

    Tracked 파일은 아래 상태 중 하나입니다.

    • Unmodified : Tracked 파일에 아무것도 수정하지 않은 경우
    • Modified : Tracked 파일을 수정한 경우
    • Staged : Untracked 파일이나 Modified 상태의 파일을 Staging Area에 추가하는 경우 (git add )

    파일에 관한 명령어를 알아보겠습니다.

     

    git status : 파일의 상태를 확인하는 명령어입니다.

    $ git status

     

    git add : 파일을 Staging area에 추가하는 명령어입니다. add를 하면 파일은 staged 상태가 됩니다.

    $ git add README

    위 명령은 README 파일을 추가하는 예입니다.

     

    git commit : 변경 사항을 저장소에 기록하는 명령어입니다. Staged 상태인 파일만 commit 할 수 있습니다.

    $ git commit

    git commit을 수행하면 편집기가 실행되고 편집기에 수정 내용을 추가 저장 후 종료하면 commit이 완료됩니다.

     

    아래와 같이 -m 옵션을 사용하여 편집기 없이 인라인으로 내용을 첨부할 수도 있습니다.

    $ git commit -m "add README"

     

    git log : 커밋 히스토리를 조회하는 명령어입니다.

    $ git log
    commit 370ed4436cb3457a5d5509142ad2955c17896a34 (HEAD -> master)
    Author: yoongrammer <yoongrammer@example.com>
    Date:   Mon Nov 16 13:23:37 2020 +0900
    
        add README

    git rm : 워킹 디렉터리에서 파일을 삭제하는 명령어입니다.

    $ git rm README

    git rm 후 파일은 staged 상태가 됩니다. 이후 commit을 하면 파일이 삭제됩니다.

     

    git diff : 파일의 변경 내용을 보는 명령어입니다. Staged와 Unstaged 상태의 파일을 비교합니다.

    $ git diff

     

    728x90

    'VCS (Version Control System) > git' 카테고리의 다른 글

    git remote 저장소  (0) 2020.11.19
    git 브랜치(branch) 란?  (0) 2020.11.18
    git 되돌리기 (git commit 취소, git add 취소)  (0) 2020.11.17
    Git 설치 및 설정방법  (0) 2020.11.15
    Git 이란?  (0) 2020.11.14
    Comments