1 분 소요

개요

Git은 소스코드의 이력을 관리하는 편리한 도구 입니다.

로컬 레포지토리를 통해 자신의 코드를 관리하고, 원격 레포지토리를 통해 다른 사람과 협업하여 공동개발을 할 수 있습니다.

image

테스트 환경 구축

이전 따라하기의 하기 내용을 수행합니다.

  1. C++ 코드 작성과 빌드 구성에 따라 소스코드 환경을 갖춥니다.

Git 설치

다음 링크에서 Git 을 다운로드 받고 설치합니다.

Git(https://www.git-scm.com/downloads)

Git 초기화

  1. Git을 commit 하기 위해선 user.emailuser.name설정이 필요합니다. 다음과 같이 설정합니다.(xxx@xxx.com, myname 대신 본인 정보를 입력하셔야 합니다.)

    1
    2
    
     git config --global user.email "xxx@xxx.com"
     git config --global user.name "myname"
    
  2. 탐색기에서 Git 관리를 하고 싶은 폴더(src)에서 우클릭하여 Git Bash Here를 실행합니다.

    image

  3. git status를 실행하여 상태를 확인합니다. Git을 초기화 하지 않아 오류 메시지가 나옵니다.

    image

  4. git init를 실행하여 초기화 합니다.

    image

  5. git status 를 실행하여 상태를 확인합니다. 아직 commit 되지 않았고, main.cpp파일과 main.exe파일이 Untracked files로 되어 있습니다.

    image

  6. exe 파일의 경우는 이력관리가 필요없으므로 .gitignore 파일을 다음과 같이 만들어 *.exe 를 추가합니다.

    1
    
     *.exe
    

    image

  7. git status를 다시 실행하면 .gitignore가 추가되고, exe파일이 빠진게 확인됩니다.

    image

Git 기본 사용(add, commit)

  1. git add .을 실행하여 파일을 staged 상태로 전환합니다. (참고로 git add *을 사용하면 delete 된 파일은 staged가 되지 않습니다) git status를 사용해서 확인하면, 아직 commit 되지 않았고, .gitignore와 main.cpp가 staged 상태임을 알려줍니다. (또한 git rm --cached로 unstage 할 수 있다고 안내합니다.)

    image

  2. git commit을 실행하면 메시지 작성을 위한 편집창이 다음과 같이 나타납니다.(git commit -m "메시지" 는 편집창 없이 바로 메시지를 입력할 수 있어 더 유용합니다.)

    image

  3. insert키를 눌러 메시지 작성후(메시지 작성후 #이 있는 라인을 지움) ESC누르고 :wq를 눌러 에디트창을 닫습니다. 그러면 commit 성공 메시지가 표시됩니다.

    image

    image

  4. git status를 실행하여 commit 된 상태를 확인합니다. 혹은 git log로 commit 메시지와 함께 볼 수 있습니다.

    image

  5. commit 메시지를 수정하고 싶다면 git commit --amend로 가장 최근 commit의 메시지를 수정할 수 있습니다. 2번의 에디트 창이 표시됩니다.

    image

    image

Git Commit 되돌리기(revert)

  1. 본 따라하기로 파일이 삭제되니, 중요한 파일로 테스트를 하신다면, 안전한 곳에 파일을 보관하시기 바랍니다.

  2. git log --oneline을 실행하여 되돌릴 commit의 id를 확인합니다.

    image

  3. git revert id 를 입력하여 commit을 되돌립니다. 그러면, commit 메시지 편집창이 표시되고, 편집창에 메시지를 작성합니다.

    image

    image

상기 메시지를 보면 파일들이 delete되어 commit을 취소한 상태(staged로 상태 전환)가 아니라 이전 commit 상태(.gitignore와 main.cpp가 없는 상태)로 전환되는 것을 알 수 있습니다. 신규 파일 추가가 있었다면 낭패를 볼 수 있으니 신중하게 사용해야 합니다.

Git 관리 삭제

  1. Git 관리중인 폴더에서 .git폴더를 삭제합니다. 만일 탐색기에서 보이지 않는다면 탐색기/보기/숨긴 항목 을 체크하시기 바랍니다.

    image

기타

항목 내용
git branch -m master main 기본 mastermain으로 변경
git push --set-upstream origin main 원격지 브랜치에 최초 push시에 사용. origin저장소의 main 브랜치에 push함. 이때 origin mainupstream 브랜치로 설정함. 최초 실행 후에는 git push만 해도 됨

댓글남기기