ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Git 입문편] 4. add, commit
    Git 2021. 3. 4. 23:25

    <git commit>

    본 포스팅은 저의 인터넷 강의인 실무자가 알려주는 Git - 입문편의 강의안을 바탕으로 작성하였습니다.

    add

    • 파일을 Staged 상태로 만듦 -> 파일을 Git이 관리하는 상태로 만듦
    • Untracked / Modified 상태의 파일에 사용할 수 있음
    • 이제 commit을 하면 코드를 저장할 수 있음
    • Untracked 에서 진행
    echo "## Git class" >> index.md
    git st
    
    ---
    
    On branch master
    Untracked files:
    (use "git add <file>..." to include in what will be committed)
    
    index.md
    
    nothing added to commit but untracked files present (use "git add" to track)
    git add index.md
    git st
    
    ---
    
    On branch master
    Changes to be committed:
    (use "git reset HEAD <file>..." to unstage)
    
    new file:   index.md

     

    • Modified 에서 진행
    vi st.md
    git st
    
    ---
    
    Changes not staged for commit:
    (use "git add <file>..." to update what will be committed)
    (use "git checkout -- <file>..." to discard changes in working directory)
    
    modified:   st.md
    git add st.md
    git st
    
    ---
    
    On branch master
    Changes to be committed:
    (use "git reset HEAD <file>..." to unstage)
    
    new file:   index.md
    modified:   st.md

     


     

    commit (ci)

    • 파일을 Unmodified 상태로 만듦 -> 한 단위의 작업이 완료
    • Git 시스템에 영구적으로 변경을 저장
    • SHA-1 알고리즘을 적용한 해시값을 키로 생성.
    • 히스토리가 하나 추가됨
    • 실무에서 한 작업 (기능, 피처) 단위로 한 커밋 권장
    git ci -m 'Modify files'
    
    ---
    
    [master 42298d3] Modify files
    2 files changed, 2 insertions(+)
    create mode 100644 index.md
    git st
    
    ---
    
    On branch master
    nothing to commit, working tree clean
    git lg
    
    ---
    
    * 1e928bc - (20 seconds ago) Modify files - Country (HEAD -> master)
    * 51462d0 - (4 hours ago) Modify st.md - Country
    * ab118e1 - (4 hours ago) Make st.md - Country
    * e5d33ad - (2 days ago) initial commit - Country (origin/master)

     

    옵션

    • -m : 메시지를 넣음
    • -a : add를 같이 함. 단순히 Modified
    • -am : -a와 -m을 합친 것. 제일 많이 사용
    •  --amend
      • 마지막 커밋을 수정
      • Stage 상태의 파일들과 같이 커밋됨
      • 만약 Stage에 아무것도 없다면 (commit이후에 작업을 안했으면) 커밋 메시지만 수정
    git lg
    
    ---
    
    * 1e928bc - (5 minutes ago) Modify files - Country (HEAD -> master)
    * 51462d0 - (4 hours ago) Modify st.md - Country
    * ab118e1 - (4 hours ago) Make st.md - Country
    * e5d33ad - (2 days ago) initial commit - Country (origin/master)
    git ci --amend
    
    ---
    
    [master 69e0e26] Rewrite commit message
    Date: Mon Mar 9 23:32:31 2020 +0900
    2 files changed, 2 insertions(+)
    create mode 100644 index.md
    git lg
    
    ---
    
    * b0c729f - (6 minutes ago) Rewrite commit message - Country (HEAD -> master)
    * 51462d0 - (4 hours ago) Modify st.md - Country
    * ab118e1 - (4 hours ago) Make st.md - Country
    * e5d33ad - (2 days ago) initial commit - Country (origin/master)

    'Git' 카테고리의 다른 글

    [Git 입문편] 6. push, pull & fetch  (0) 2021.03.07
    [Git 입문편] 5. branch, checkout  (0) 2021.03.07
    [Git 입문편] 3. status, log  (0) 2021.03.04
    [Git 입문편] 2. Git lifecycle  (0) 2021.03.03
    [Git 입문편] 1. Git 기초  (0) 2021.02.20

    댓글

Designed by Tistory.