Git & GitHub 실무 활용 (Git 설치 및 용어 정리)
Git
git-scm.com
Git 다운로드
Git Bash 실행
- GUI는 기본으로 제공하는 프로그램이라 강력하진 않음
- 교육은 실습을 통해 명령어를 익히는 정도로 진행
로컬저장소 생성 | Staging |
|
|
$ Git config --global
- 명령어를 이용해 사용자의 이름과 이메일을 설정
저장소 생성 --git init
- Git 저장소 폴더 생성
- 저장소 폴더로 이동
- Git 저장소 초기화
- 초기화된 폴더는 (master)라고 표기 됨
- 저장소가 초기화되어 실제 Git과 관련한 폴더 및 파일이 생성됨을 볼 수 있음
파일 생성
- vim editor로 추가
- 메모장 편집하듯이 위의 화면이 나오는데 i(insert) 가능
- txt 파일 생성 완료
Git 상태 확인
$ git status
- 현재 상태 확인
- 수정된 내역이 존재하며, untracked file이 있다는 것을 알려줌
파일 추가
$ git add
- Add 명령어를 통해 Git 저장소에 파일 추가
- 설치 시에 선택하였던 CRLF 변경에 대한 warning 메시지 출력
git commit
- 사용자 초기 추가 없이 실행하게 되면 fatal 오류 메시지 출력
- 다른 설정이 없을 경우 commit 메시지 편집기로 vim editor 실행
- I를 누르고 편집
- 편집 완료 후 ':' + wq 입력
- 엔터키를 누르면 최종 commit 완료
- Git commit -m '메시지'로 commit 가능
$ git log -2
- '-2'는 2개까지만 확인하겠다는 의미
git branch
$ git branch
- 처음에는 master branch 밖에 없었으나 notfix branch를 생성 후 조회하니 2개의 branch가 생성
- Master 앞에 *표시가 있는 것은 현재 작업 중인 branch를 의미
$ git check notfix
병합
$ git merge
- notfix branch와 merge 실행
프로젝트 상황에서 자주 발생하는 상황대처
.gitignore
- gitignore 생성 > window에서는 OS제약으로 .으로 시작하는 파일 생성 불가하므로 tool에서 생성하기를 권장
gitignore.io
Create useful .gitignore files for your project
www.toptal.com
.gitignore
프로젝트 상황에서 자주 발생하는 상황대처 - 충돌 해결
conflict
- 두 개 이상의 브랜치에서 동시에 같은 파일의 같은 곳을 수정하고, 그걸 병합하면서 생기는 충돌 해결
- 현재 브랜치 상황을 확인하고 충돌 상황을 만들기 위해 각 브랜치의 공통파일 내용이 다른지 확인
git checkout notfix
마스터에서 고치고 커밋
notfix에서 고치고 커밋
마스터에서 nofix 브런치랑 병합하면 충돌 발생
프로젝트 상황에서 자주 발생하는 상황대처 - git loge출처 : KOSTA
git 상의 로그 확인
$ git log --graph
- 40글자의 SHA-1 체크섬 값
- 커밋한 사용자
- 커밋 시각
- 커밋 메시지 등
- 분기 그래프
$ git log --oneline