최용우
Git 사용법[개요] 본문
Git, 코드의 버전 관리 도구이다.
IT 업무를 하다보면 종종 느끼는것은 작업 이력(기록)이 다른 무엇보다 우선한다는 사실이다.
반응속도가 개선되었다든지, 아키텍트가 좋아졌다든지 하는 것들도 중요하지만 제품을 관리하는 것은 결국 사람이고 사람은 기록이 없으면 길을 잃게 된다.
따라서 코드 변경 이력을 관리해주는 형상 관리 도구는 자연스럽게 발생할 수 밖에 없으며 현재 가장 많이 사용되고 있는 것은 Git. 컨셉은 정말 간단하다.
1. 로컬 저장소 to 원격 저장소
Working Directory -> (add) -> Staging Area -> (commit) -> Repository -> (push) -> Remote Repository
위 흐름만 알아도 git은 끝이다. 어렵거나 생소해보이는 기능들도 본 흐름을 돕기 위한 파생에 불과하여 익히기 쉬울것이다.
2. 기본사용방법
2.1. git -help, 깃에 관련된 명령어를 확인할 수 있다.
2.2. git init, 명령어는 .git 이라는 하위 폴더를 생성하여 해당 폴더 관리 가능 상태가됨
2.3. .gitignore, 여기에 깃으로 관리하고 싶지 않은 폴더나 파일명을 적어주면 무시
2.4. git add, commit을 수행하기 전까지 변경분을 모아 놓는 역할
2.5. git add . 현재 디렉토리의 모든 변경 내용을 스테이징 영역으로 넘김
2.6. git add -A 작업 디렉토리의 모든 변경 내용을 스테이징 영역으로 넘김
2.7. git add -p 눈으로 직접 보면서 스테이징 영역으로 넘길 것을 선택
2.8. git commit -m "fiirst commit", 변경분을 기록하는것(스테이징 영역에 기록됨)
2.9. git push origin(원격저장소 대명사) master(로컬저장소 브랜치의 이름)
3. 추가사용방법
3.1. *윈도우 커맨드 dir /a 숨겨진 폴더 및 파일 전부보기
3.2. rmdir /s .git 깃 init을 삭제하여 깃관리 불가능 상태로 바꿈
3.3. git branch {브랜치이름}, 브랜치 생성
3.4. git checkout {브랜치이름}, 해당 브랜치로 이동
3.5. git brach -d {브랜치이름}, 해당 브랜치 삭제
3.6. git push, 생성한 브랜치를 원격 저장소에 push 그러나 원격저장소에는 master 브랜치밖에 없는 상황. 따라서, git push --set-upstream origin test
3.7. master branch로 돌아와서 git merge test, test 브랜치를 master와 병합함
3.8. 같은 파일 같은 행에 수정사항이 있으면 Conflict 발생한다
3.9. conflict가 발생한 줄에 어떤 부분이 충돌이 생겼는지 확인 할 수 있다.
4. fast-forward vs non fast-forward, 병합의 차이점 이해하기
4.1. fast-forward의 경우 앞서가는 브랜치로 단순히 master의 위치를 움직이는 것
4.2. non fast-forward의 경우 평행선상의 브랜치를 새롭게 합치는것
4.3. git rebase, ex)내가 새로 작업하고 있는 브랜치를 master로 rebase하면 master 끝단에 달라붙어 이력이 깔끔하게 선형으로 바뀐다.
5. 그외
5.1. git remote add origin https://github.com/yongwoo97/todolist.git git remote add 대명사 링크, 리모트 저장소가 등록이 안되어있을 경우 실행
5.2. fetch등 추가적인 기능들도 정리 필요
'깃' 카테고리의 다른 글
| 노트북에서 작업한 코드를 AWS Lightsail로 가져오는 방법 (1) | 2022.03.05 |
|---|