본문 바로가기
git 관련

git 특강 정리해보기

by 수바니 2024. 9. 11.

Git 특강을 들으며 정리한내용!!메모장으로 뒤죽박죽 정리한거라.. 참고할것!

 

 

Git이란? 코드변경점 기록 (버전관리도구)
Github 이란 ? 온라인 백업, 공유, 협업 (온라인 코드저장소)

1. 코드 관리를 시작하는 명령어 ( 프로젝트 시작전 딱 한번만 입력하면 된다.) 여러번입력해도 문제가 되진 않음
git init - 정확한 프로젝트 폴더(경로)에서 입력해야 한다. 잘못하면 데스크탑 전체 파일, 폴더가 다 기록된다.

하기전에 경로확인필수 pwd로 확인가능!
경로입력하고 git init

ls -a : 현재 모든파일에서 숨김파일이던 모든 파일 알려줌
.git에서 코드변경을 git에서 추적합니다.

2. 코드를 저장하는 명령어
git add & commit
git add 파일명
git commit -m "메시지 작성" 메시지부분은 자세하게 쓰는것이 좋음
왜 저장 명령어가 2개임 ??
add는 저장하기전 지정할 파일을 지정하는것임. (지정)
commit은 실제로 저장하는 명령어 (저장)

저장을 확인하는 명령어
git status
어떤파일이변경되었는지 어떤파일이 add되었는지 변경상태를 확인한다.

지정할 파일이 많다면 ?
한번에 지정하는 방법
add .
점은현재 나의 경로의 모든변경된 사항을 말한다.
1. git add .
2. git commit -m

Working directory
Staging area
Repository 를 검색해서 공부하길

3. 저장내역을 확인하는 명령어 - git log
git diff 코드변경확인
git reset 과거로 돌아가기 가능
키보드 q로 빠져나오기 가능

Github Repository 온라인저장소를 만든다.
내코드를 Github Repository에 올린다.


추가로 수정된 코드 - 코드 수정시
코드저장명령어실행 (git add . & git commit -m "메시지입력")
git push origin 브랜치명 / main



git협업하기

초기 프로젝트 코드 작성
github 레포지토리 생성
코드 github에 올리기 (git push)

그러면 나머지 팀원들은 .. ?
Settings - collaborator 등록하기 - Add people

팀원들이 해야할일
코드 복사해오기 - git clone을 통해 코드를 가져온다.
git clone 주소 . 마지막에 꼭 . 추가한다 .을 하고 안하고의 차이 안해도 되긴하지만, 폴더가 생성되려면 .을 붙이세요! 

cli환경이 익숙하다면 안붙여도 상관 X

git add.
git commit -m "메시지"
git push origin main 이게 main에 푸쉬하는것. 

브랜치 활용하기
수정은 하고 싶은데, 원래 파일은 그대로 놔두고싶어 -> 복사를 한다.
프로젝트도 복사를 한다., ? 프로젝트 용량이 너무 크다면 .. ?
복사본 == 브랜치 라는 개념을 활용한다.

1. 브랜치 생성하기
git branch 브랜치이름

2. 브랜치 확인 명령어
git branch
* 브랜치명 = 현재위치

3. 브랜치 이동 명령어
git switch 브랜치명
git checkout 브랜치명
왜 두가지 인가 ??? 브랜치이동뿐만아니라 checkout은 코드변경점을 변경한다던가 해서 git 개발자들이 새로운 명령어를 만들어 주었다. switch 브랜치 이동을 할때 둘다 사용해도 상관은 없다.

브랜치 한번에 생성과 이동
git switch -c 브랜치이름   c : create약자
git checkout -b 브랜치 이름   b : branch 의 약자

메인브랜치가 아닌 내브랜치에서
add . 하고 commit을 해도 main 브랜치에는 commit 이 되지않는다.

내브랜치에 commit을하고 git push origin main이나 develop 브랜치로!

Pull Request 활용하기
Pull Request란 ? 당겨서 합치는것 (merge)
Request : 요청하다.

compare : 내가 작업하는 브랜치
base : 내가 합칠 브랜치 (main/develop)

merge pull request 버튼은 -> Merge한다.

main이나 develop 브랜치로 checkout하여
git pull origin main/develop 으로 가져온다. 

정리
1. 브랜치 생성 및 이동
2. 기능 개발 및 코드 저장
3. 코드 업로드 및 pull request생성
4. github에서 merge
5. 내 로컬에도 반영 git pull origin main/develop

문제
Main브랜치 === 배포용
문제점 1) 완벽하게 기능 개발해야 merge 가능
-> 다만드는데 오래걸리고 버그 수정 오래걸린다.
해결책1) 개발용 브랜치를 만든다.
Main브랜치는 배포용
develop 브랜치 테스트용
기능 브랜치는 기능개발용
기능브랜치 -> develop -> 배포할때 main브랜치로

해결책2) 로컬에서 먼저 테스트
git pull origin develop 먼저하고 내컴퓨터에서 먼저 테스트한다. 이것은 충돌시 해결법 중 하나이다.!


팀장일때
git switch -c dev
git push origin dev
하면 github에도 dev 브랜치가 생성이 되어있다.
dev브랜치를 default로 설정한다.
settings로 들어가서 변경할 수 있다.
팀원들을 collaborator로 초대한다.

팀원일때
인텔리제이로 내가 저장할 프로젝터 폴더 열고 git clone 주소 .    (점빼먹지않는다.)

기능 개발의 시작
git switch -c feature/signup (feature/signup 브랜치를 만들고 그 브랜치로옮ㄱ니다.)
git add .
git commit -m "회원가입 기능개발"
git push origin feature/signup
코드 작성자 : 리뷰 요청하기
합치기 전 내로컬에서 충돌 해결 및 테스트
git pull origin dev로 코드를 가져오기 -> 충돌 발생시키기 -> 해결하기

충돌이 발생하는 이유는
같은 파일의 같은위치에 코드가 변경되었기 때문이다.

충돌해결후
add .
commit -m 
git push origin feature/signup까지 해야한다.
githun merge버튼 누르면 dev에 반영이 된다.

 

요약
1. 기능브랜치 생성 및 코드 작성
2. git add. git commit -m "메시지"
3. git push orgin 내브랜치명 코드리뷰요청가능
4 git pull origin dev 로 코드를 가져와서 충돌을 발생시키고 해결한다.
5. 충돌을 해결했을경우 다시 git add . git commit -m "메시지" 다시 push한다.

 







'git 관련' 카테고리의 다른 글

git main/develop브랜치에서 pull받아오기 (git 명령어)  (0) 2024.09.03