#3. [개발설정] Git 사용하기
개요
Git은 소스코드의 이력을 관리하는 편리한 도구 입니다.
로컬 레포지토리를 통해 자신의 코드를 관리하고, 원격 레포지토리를 통해 다른 사람과 협업하여 공동개발을 할 수 있습니다.
테스트 환경 구축
이전 따라하기의 하기 내용을 수행합니다.
- C++ 코드 작성과 빌드 구성에 따라 소스코드 환경을 갖춥니다.
Git 설치
다음 링크에서 Git 을 다운로드 받고 설치합니다.
Git(https://www.git-scm.com/downloads)
Git 초기화
-
Git을 commit 하기 위해선
user.email
과user.name
설정이 필요합니다. 다음과 같이 설정합니다.(xxx@xxx.com
,myname
대신 본인 정보를 입력하셔야 합니다.)1 2
git config --global user.email "xxx@xxx.com" git config --global user.name "myname"
-
탐색기에서 Git 관리를 하고 싶은 폴더(src)에서 우클릭하여
Git Bash Here
를 실행합니다. -
git status
를 실행하여 상태를 확인합니다. Git을 초기화 하지 않아 오류 메시지가 나옵니다. -
git init
를 실행하여 초기화 합니다. -
git status
를 실행하여 상태를 확인합니다. 아직 commit 되지 않았고,main.cpp
파일과main.exe
파일이Untracked files
로 되어 있습니다. -
exe 파일의 경우는 이력관리가 필요없으므로
.gitignore
파일을 다음과 같이 만들어*.exe
를 추가합니다.1
*.exe
-
git status
를 다시 실행하면.gitignore
가 추가되고,exe
파일이 빠진게 확인됩니다.
Git 기본 사용(add, commit)
-
git add .
을 실행하여 파일을 staged 상태로 전환합니다. (참고로git add *
을 사용하면 delete 된 파일은 staged가 되지 않습니다)git status
를 사용해서 확인하면, 아직 commit 되지 않았고, .gitignore와 main.cpp가 staged 상태임을 알려줍니다. (또한git rm --cached
로 unstage 할 수 있다고 안내합니다.) -
git commit
을 실행하면 메시지 작성을 위한 편집창이 다음과 같이 나타납니다.(git commit -m "메시지"
는 편집창 없이 바로 메시지를 입력할 수 있어 더 유용합니다.) -
insert
키를 눌러 메시지 작성후(메시지 작성후 #이 있는 라인을 지움)ESC
누르고 :wq를 눌러 에디트창을 닫습니다. 그러면commit
성공 메시지가 표시됩니다. -
git status
를 실행하여 commit 된 상태를 확인합니다. 혹은git log
로 commit 메시지와 함께 볼 수 있습니다. -
commit 메시지를 수정하고 싶다면
git commit --amend
로 가장 최근 commit의 메시지를 수정할 수 있습니다. 2번의 에디트 창이 표시됩니다.
Git Commit 되돌리기(revert)
-
본 따라하기로 파일이 삭제되니, 중요한 파일로 테스트를 하신다면, 안전한 곳에 파일을 보관하시기 바랍니다.
-
git log --oneline
을 실행하여 되돌릴 commit의 id를 확인합니다. -
git revert id
를 입력하여 commit을 되돌립니다. 그러면, commit 메시지 편집창이 표시되고, 편집창에 메시지를 작성합니다.
상기 메시지를 보면 파일들이 delete되어 commit을 취소한 상태(staged로 상태 전환)가 아니라 이전 commit 상태(.gitignore와 main.cpp가 없는 상태)로 전환되는 것을 알 수 있습니다. 신규 파일 추가가 있었다면 낭패를 볼 수 있으니 신중하게 사용해야 합니다.
Git 관리 삭제
-
Git 관리중인 폴더에서
.git
폴더를 삭제합니다. 만일 탐색기에서 보이지 않는다면탐색기/보기/숨긴 항목
을 체크하시기 바랍니다.
기타
항목 | 내용 |
---|---|
git branch -m master main |
기본 master 를 main 으로 변경 |
git push --set-upstream origin main |
원격지 브랜치에 최초 push 시에 사용. origin 저장소의 main 브랜치에 push 함. 이때 origin main 을 upstream 브랜치로 설정함. 최초 실행 후에는 git push 만 해도 됨 |
댓글남기기