어? 이게 되네
2022.06.29. 수요일 이공계 전문기술 연수사업 (Git) 본문
오늘 배운 것
Git : 형상 관리 시스템 (버전 관리 시스템)
목적 - 협업/형상관리/버전관리
git 용어
commit : 하나 또는 다수의 파일에 대한 변경 내용을 저장할 때마다 새로운 commit을 생성함
commit message : commit을 생성할 때마다 왜 변경했는지에 대한 이유를 설명하는 메시지를 제공해야 함
branch : 테스트를 해보거나 새로운 기능을 개발하기 위해 사용할 수 있는 따로 떨어진 독립적인 commit들
master branch : 새로운 git프로젝트를 만들 때마다 master라는 기본 branch가 생성됨. 배포할 준비가 되면 작업이 최종적으로 마무리 되는 branch
feature branch : 새로운 기능을 개발할 때마다 작업할 branch를 만드는데 이를 feature branch라고 함
release branch : 직접 qa 작업을 하거나 고객의 요구로 구 버전의 소프트웨어를 지원해야
merge : 한 branch에서 master branch로 병합 작업을 하는 것
pull request
fork 프로젝트에 직접 참여하려면 그 프로젝트를 소유하거나 협력자로 포함되어야 함 그렇지 않으면 github 사용자 계정에 프로젝트의 복사본을 만듦. 이 과정을 forking이라고 함. 프로젝트를 fork하면 복사본을 원하는 대로 변경할 수 있고 pull request를 이용해 원본 프로젝트를 변경할 수도 있음 !
git remote add origin 저장소주소
저장소 주소를 origin이라는 애칭으로 사용해서 remote하겠다
push : 원격 저장소에 내용물을 밀어넣겠다
git push -u origin main
우리는 자주자주 합쳐야함 ! ㅠㅠ
원격 저장소(깃헙홈페이지저장소)의 main 브랜치를 나(로컬저장소)한테 땡겨와달라는 뜻 !
(remote할 때 애칭을 origin이라고 했었음)
충돌테스트
프로젝트 소유자 : DAO의 insert메소드에 출력문 하나 추가
프로젝트 기여자 : DAO의 insert메소드를 아예 반환값이 없도록 만들고 기존의 출력문을 지우고 다른 출력문을 넣음
충돌을 안나게 하려면 먼저 pull한 다음에 push해야함 !!!
즉 충돌을 최대한 안나게 하려면 pull다음 push하는 세트를 자주 빈번하게 해줘야함 !!!!!!!!!!!!
우리는 pull하기전에 코딩을 이미 해버림 그러면 pull 당하기 (덮어씌워지기)전에 충돌나서 깃이 알려줌!
그런데 즉 코딩하기 전에 pull하고 코딩하는 중에도 pull하고 만약 충돌난다면 해결해서 push해야함 !!!!!!!!!!!!
같은 메소드의 같은 코드였다가 소유자가 다르게 코딩하여 커밋하고 push했고
나는 그 변경사항을 먼저 pull하지 않고 또 소유자와 다르게 코딩하여 커밋하여 push하려고 했더니 충돌난 거임 !!!
근데 그러면
충돌난 코드에서 소통하여 협의하고 충돌난 표시 지운 다음에
commit후 최종 push
(같은 클래스 수정시 충돌이 나면) 마지막 수정자가 push를 해서 reject가 나면 pull을 해보고 에러메시지 확인 후 소통하여 완벽하게 클래스를 수정한 다음 마지막 수정자가 push함
'TIL' 카테고리의 다른 글
2022.06.16. 목요일 이공계 전문기술 연수사업 (0) | 2022.06.30 |
---|---|
2022.06.30. 목요일 이공계 전문기술 연수사업 (제네릭, 람다식, 스트림) (0) | 2022.06.30 |
2022.06.28. 화요일 이공계 전문기술 연수사업 (카카오 로그인 API, 아임포트 API, Jsoup, 향상된 자바스크립트 함수) (0) | 2022.06.29 |
2022.06.24. 금요일 이공계 전문기술 연수사업 (Spring DATA JPA로 조인하기, 카카오맵 api) (0) | 2022.06.24 |
2022.06.23. 목요일 이공계 전문기술 연수사업 (Thymeleaf, 스프링 인터셉터, 스프링 DATA JPA) (0) | 2022.06.24 |