- 01. git 시작하기 (로컬에서 작업하기)
개발을 하면서 느끼는 점은 협업 툴의 중요성입니다.
그래서 이번엔 새로운 형상관리 시스템인 깃허브를 배워보려고 합니다.
참고로 오늘 나오는 정보의 모든 것은 www.youtube.com/watch?v=FXDjmsiv8fI&t=43s
위 유튜브가 출처입니다.
저는 그저, 위 내용을 그대로 글로 옮긴것이라고 생각하시면 편합니다.
(위 진행은 매우 빠르나, 글은 천천히 읽으면 되니까 좀 더 배우기 편할 것이라고 생각합니다.)
깃허브 가입이라던가 소프트웨어 다운로드에 관한 부분은 자세하게 다루지 않겠습니다.
구성표
환경 (OS : Window 10) | ||
소프트웨어 | 내용 | 비고 |
git | 형상관리시스템 | git-scm.com/downloads |
Source Tree | GUI를 통해 GIT 관리 | www.sourcetreeapp.com/ |
vs code | 개발 IDE | code.visualstudio.com/ |
먼저 계정이 필요합니다.
주소 : github.com/
아래 사이트에 들어가서 가입을 하고 id와 email을 기억해둡니다.
위 구성표에 적힌 비고란의 링크를 타고 들어가 각각 다운로드를 진행합니다.
git을 설치하면, cmd의 명령어를 통해 git 관리가 가능해지는데, 우리는 vs code에서 제공하는 명령창에서 해당 작업을 할 예정입니다.
Source Tree는 이를 좀 더 쉽게 한눈에 보면서 할 수 있도록 돕는 툴입니다.
오늘 핵심은 vs code의 명령창을 통해 git을 사용하는 것이고, source tree를 통해 한눈에 확인 하는 것입니다.
이를 위해 git 명령어를 통해서 파일을 관리하고 동시에 source tree를 통해서도 git을 관리해보겠습니다.
들어가기 앞서
이 페이지를 통해 배울 부분은 원격지에 저장하는 것을 제외하고 로컬의 git 저장소에서 로컬 워킹디렉터리에 체크아웃하고 스테이징에 반영 후 커밋하는 일련의 작업을 배우도록 하겠습니다.
git 저장소로 사용할 폴더 생성
이름은 자유롭게 정하면 됩니다.
git 저장소로 사용할 폴더를 열고 저장소로 초기화 하기
이제 이 폴더를 깃 저장소로 사용할 것입니다.
이를 위해 깃 초기화를 해야하는데
1. cmd 명령창을 열어 진행한다.
2. vs code로 파일 상태를 실시간으로 확인하며 진행한다.
3. source tree로 간편하게 진행한다.
2번으로 하는 작업은 실시간으로 확인한다는 점을 제외하고 사실상 1번과 동일한 작업이므로 2번 부터 해보겠습니다.
왼쪽에 보이는 공간이 만든 파일을이 올라갈 공간입니다.
cat 이라는 파일을 만들고 이름을 톰으로 정했습니다.
저장은 필수!
CMD 를 통해 git 명령어를 수행할 수도 있지만, Ctrl + ` 을 누르면 명령창이 자동으로 열립니다.
그리고 폴더 또한 해당 위치로 자동으로 이동 되어 있습니다.
아래 명령어로 깃을 초기화 해줍니다.
git init
git config --global user.name "사용자"
git config --global user.email "사용자_이메일"
위 명령어를 통해 커밋할 주체를 설정합니다.
한번 설정하면 커밋할 때 마다 해당 정보를 사용합니다.
한번 커밋 후에는 변경할 수 없으므로 신중하게 설정합니다.
위 설정에 관한 것은
에서 더 자세하게 확인 가능합니다.
생성된 .git 파일을 지워 git 초기화 설정을 날려버리고 source tree 를 통해 한번 더 해봅시다!
시작하기 전에
위 설치 방법을 보고 따라하시길 바랍니다.
설치할 때 입력한 계정 정보들이 위에서 명령창으로 설정한
git config --global user.name "사용자"
git config --global user.email "사용자_이메일"
위 명령어와 동일한 작동을 한겁니다.
즉, 커밋할 때마다 사용할 유저 정보를 설치할 때 입력한 겁니다.
깃 초기화
1. 번은 브랜치나 커밋히스토리를 보는 등등, git 시스템의 상태를 보는 곳입니다.
2. 스테이징이다. 깃은 원하는 작업 내역만 골라서 스테이징에 포함하고 부분적으로 포함된 스테이징의 내용을 커밋(저장) 할 수 있다.
3. 아직 스테이징에 올라가지 않은 파일
스테이징에 파일을 올리고 커밋해보자!
git status
상태가 나타납니다.
Untracked files 으로 나타나는 파일은 아직, 깃의 관리 전 파일이라는 뜻으로 스테이징에 올라가지 않은 파일을 의미합니다.
git add -A
add는 스테이징에 파일을 올리겠다는 뜻입니다. 이 때 -A 옵션은 모든 파일을 스테이징에 올리겠다는 의미입니다.
옵션을 선택함에 따라, 파일을 비교 후 올리는 기능이나, 수정된 파일만 올리는 옵션 등등이 존재하므로, 옵션을 잘 살펴보고 사용하기 바랍니다.
git status 으로 상태를 살펴보니, 새 파일이 스테이징에 올라왔음을 알 수 있습니다.
이 스테이징에서도 파일을 내리는 것이 가능하나, 해당에 관련한 설명은 여기서 하지 않겠습니다.
git commit -m "First commit"
커밋하겠다는 메세지로, -m은 커밋 메세지를 입력하겠다는 의미입니다.
여기서 부터 하나의 관리 포인트(=되돌릴 수 있는 시점이 생긴 것)가 생긴 것입니다!
수정&추가 된 파일을 source tree 를 통해서 커밋해보자
파일 mouse 추가
커밋 로그 확인 후 되돌리기
되돌리는 방식에는 크게 두가지가 있습니다!
1. 되돌리고 싶은 커밋 지점과 현재 사이에 있는 모든 커밋 기록들을 삭제하고 되돌아가는 방법(reset)
2. 되돌리고 싶은 커밋 지점과 현재 사이에 있는 모든 커밋 기록을 반대로 커밋하는 방법(revert)
좀 더 자세하게 설명하기 위해 상황을 설정하자면,
12일날 파일 A를 커밋했고 13일날 파일 B를 커밋했다고 가정하자!
1번 방법을 통해 되돌린다면, 13일날 커밋한 기록을 아예 삭제하고 12일날 파일 A만 존재하는 상태로 커밋하는 것이며,
2번 방법을 통해 되돌린다면, 13일날 파일 B를 커밋한 기록은 두고 B를 삭제하는 커밋을 추가하는 방법인 것이다.
1번 방법을 사용해서 먼저 되돌려 보겠습니다.
git log 로 커밋 번호 확인 후 앞 6자리 확인
git reset "앞6자리_일련번호" --hard
Second Commit 기록이 아예 삭제 된 모습입니다.
다시 원래대로 되돌리고 source tree로 reset 해봅시다!
워킹 디렉터리를 살피면 mouse는 삭제되어있고, cat은 원래대로 되돌아 온 모습을 확인 가능하다.
위에서 배운 방법대로 cat을 지우고 커밋해보자
되돌리고 싶은 커밋 지점과 현재 사이에 있는 모든 커밋 기록을 반대로 커밋하는 revert
git revert "앞6자리 일련번호"
소스트리에서는 간편하게 우클릭 후 커밋 되돌리기를 누르면 됩니다.
git 브랜치 만들기
좌측에 보면 브랜치 탭이 보이는데 해당 브랜치를 더블클릭하면 원하는 브랜치로 이동(checkout)이 가능하다.
master와 new-new-br을 merge(병합) 했다. 마스터 브랜치에서 변화가 없었던 cat은 new-new-br 버전으로 덮어 썼고
dinosaur은 추가 되었으며, dog는 그대로 유지 되었다.
병합시 충돌 나는 경우
충돌이 나는 모습으로 충돌 나는 부분이 위와 같이 표시가 된다.
소스트리에서 보면, 충돌이 나지 않는 부분은 커밋이 되었을 테고 충돌이 나는 파일은 "커밋하지 않은 변경사항"으로 남을 것이다.
깃이 커밋을 거부한 상태인데,
위와 같이 둘중 하나만 선택하여 커밋하면 문제가 해결된다.
커밋 히스토리 정리하기
위와 같이 브랜치를 따서 작업하다보면 커밋 히스토리가 지저분해지는데 이때 사용할 명령어가 rebase 이다.
해당 명령어에 관해서는 url을 첨부한다.
backlog.com/git-tutorial/kr/stepup/stepup2_8.html
'개발 > git' 카테고리의 다른 글
Gitflow 에서 branch 의 종류 설명 (0) | 2021.10.02 |
---|---|
Git flow 전략 공부 (0) | 2021.10.02 |
- 02. 깃허브 이용하기 (0) | 2020.12.27 |
댓글
이 글 공유하기
다른 글
-
Gitflow 에서 branch 의 종류 설명
Gitflow 에서 branch 의 종류 설명
2021.10.02 -
Git flow 전략 공부
Git flow 전략 공부
2021.10.02 -
- 02. 깃허브 이용하기
- 02. 깃허브 이용하기
2020.12.27