Git
git 과 github
코드 변경점을 기록하는 버전관리도구 (형상관리도구)
백업과 공유에 용이한 개발자들의 필수 소양
터미널 주요 명령어
명령어 | 비고 | |
pwd | 현재작업중인 디렉터리 | pring working directory |
ls | 현재 폴더의 목록 | list의 약자 |
ls -a | 숨김폴더까지 표시 | |
cd change directory | change directory로 이동 | |
. | 현재폴더 | |
mkdir 폴더명 | 폴더생성 | make directory |
touch test.txt | 파일생성 | |
git init | 깃 초기화 | 정확한 프로젝트 폴더에서 입력할것 |
git pull | 정보합치기 | |
git add | 저장할파일을 지정하는명령어 | git add . 현재위치파일 전부등록 |
git commit -m "변경이름" | 수정된파일 올리기 | |
git status | 현재파일 상태 확인 | |
git log | log 확인 | |
git clone 주소 | 복제 | |
git init 한위치에 .git 파일 생성 이 위치에서 add해야 트랙킹가능 다른위치에서 add하면 오류발생
window + r 키에 cd 파일경로 입력 >> code . >> vs code로 작업환경 바로실행
- Visual Studio code 열어서 키보드 cmd + shift + p (Mac 기준) (원도우의 경우 ctrl + shift + p )누른 후 Shell Command: Install ‘code’ command in PATH 검색 및 선택
- 이 작업을 하는 이유는 terminal에서 code . 이라는 명령어 입력 시 Visual Studio Code를 열 수 있게 하기 위함입니다
초기코드 githyb에 올리기
// 저장소 주소에 해당하는 github 레포지토리와 현재 내 컴퓨터의 git을 연결한다는 뜻입니다.
$ git remote add origin <저장소 주소>
// 기본 branch 명을 main으로 변경한다는 뜻입니다. 처음에 master로 설정되어 있는 경우 main으로 변경됩니다.
$ git branch -M main
// github repository의 main 브랜치에 코드를 올립니다.
$ git push -u origin main
기능 개발 전 각자 branch 생성하기
// 1. 브랜치 생성하기
$ git branch <브랜치명>
// 2. 브랜치로 이동하기
$ git checkout <브랜치명>
// -b 는 새로운 브랜치를 생성한다는 의미입니다.(생성과 이동)
$ git checkout -b <브랜치명>
$ git add . $ git commit -m "커밋 메세지"
// 이때 브랜치명은 현재 브랜치명을 작성해주세요.
$ git push origin <브랜치명>
PR (Pull Request) 만들기
- PR (Pull Request) 만들기
- 기능 개발 후 해당 브랜치에서 git push 명령어를 입력하고, github repository로 이동하면 다음과 같은 알림이 뜹니다. 이때 Compare & pull request 버튼을 클릭합니다.
- (만약 뜨지 않는다면 git push가 제대로 됐는지 확인하시거나, Pull requests 탭을 클릭 후 New pull request 버튼을 클릭해보세요)
문제가 없을 경우 merge 하기 (Merge pull request)
PR을 생성하면 github repository에서 코드를 최종적으로 합치기 전 (main으로 merge하기 전) 코드를 점검할 수 있습니다.
아래 이미지의 붉은 박스처럼 Merge pull request 버튼이 비활성화 됐죠? 이처럼 merge 전에 Conflict가 났다면 Github에서 merge를 할 수 없습니다.
Conflict가 발생했다는 건 팀원이 같은 위치의 같은 코드를 수정했기 때문에 최종적으로 어떻게 변경해야 하는지 Github에서 물어보는 것입니다. 이럴 경우 어떻게 해결하는지 확인해볼게요!
기능 개발한 브랜치에서 git pull origin main 명령어로 메인 코드를 가져온다.
- conflict 난 코드 확인
- 좌측 아이콘(Source Control) → 파일 선택 → conflict난 부분 코드 확인
- conflict 가 발생한 코드 수정
- 최종적으로 바꾸고 싶은 코드로 변경합니다.
다시 git add & git commit & git push 명령어를 입력합니다.
$ git add .
$ git commit -m "메세지"
$ git push origin <브랜치명>
- merge 한다.
- 이제 Merge 버튼이 활성화됐네요!
7. merge 이후에 다음 기능은 어떻게 개발하는가?
기능 개발 후 branch를 merge 했습니다. 이제 또 새로운 기능을 개발해야 하는데요. 새로운 기능 개발을 할 땐 어떻게 하는지 알아볼게요
- main 브랜치로 이동 및 코드 확인
- git checkout main 명령어를 입력하면 여러분의 컴퓨터에서 main 브랜치로 이동됩니다. 하지만 파일을 확인해보니 여전히 예전 코드가 그대로 있는 것을 확인할 수 있습니다. 아직 Github repository에 있는 코드를 가져오지 않았기 때문입니다.
- git pull origin main 으로 merge 된 코드 내려받기
- git pull 명령어를 입력한 후에야 실제 github Repository에서 변경된 내역을 저희 로컬 컴퓨터에도 가져올 수 있게 되는 겁니다.