관리 메뉴

공부기록용

GIT(개념_02) 본문

💡깨달음💡/GIT

GIT(개념_02)

과부하가즈아 2023. 6. 8. 14:25

Issue

1단계, 누가 이 작업을 진행할 것인지 정한다.

프로젝트에서 해결해야 하는 문제

ex)
-버그(프로그램이 원하는 대로 동작하지 않는 것)를 신고 (Bug report, 버그 리포트)
-기능 추가 등의 프로젝트 개선 제안 (enhancement)
-문제들을 해결하기 위한 작업단위

 

+Github 외에도 많이 쓰이는 이슈 관리를 할 수 있는 도구는 Jira, Trello, YouTrack 등이 있음
->이슈를 추적(tracking)하면서 관리할 수 있다고 해서 이슈 트래커(issue tracker) 또는 이슈 추적도구(Issue Tracking Tool, 이슈 트래킹 툴) 라고 부른다

----> tracking 한다는 것은 로컬 repo(내pc저장소)와 원격 repo의 특정 브랜치를 연결해주는 것

 

<내용>
-제목과 상세 내용은 협업하는 사람도 잘 알아볼 수있도록 적어주는게 좋다.
(프로젝트에 따라 issue 에 적어야하는 내용이 다른데, issue 를 잘 적어두면 앞으로 내가 어떤 작업을 해야할지 파악하는데 편리함)

-Assigness(담당자) : 이 이슈를 작업하거나 연관된 사람을 적다.

-Labels: 이 issue 가 어떤 건지 분류해주는 것으로 Github에서 만들어준 기본 라벨을 사용할 수도 있고, 내가 직접 만들어줄 수도 있다.
>Labels ex. enhancement (추가 기능 개선) , good first issue (처음 프로젝트에 참여하는 사람이 작업하기 쉬운 이슈)

++tracking(추적)되고 있는 브랜치를 기준으로 commit 내역을 반영

 

Branch

2단계, 각자 맡은 것에 대해 작업한다. (동일한 프로젝트에서 여러 개의 개별적인 환경을 만들어 주는 기능)


----> 아닌 XXXXX


----> 이런 식으로 개별적인 환경을 만들어 주는 기능(개발자 별로 쪼개서 사용하기도 함)

 

동일한 파일을 건들지 않고도 개발 작업할 수 있음

 

체크아웃(checkout)
:작업할 브랜치로 바꾸는 것, 체크아웃된 브랜치에만 commit 이 반영

 

Merge

: 3단계, 각자 작업을 프로젝트에 합친다.(작업한 내용을 리뷰하고 최종적으로 프로젝트에 반영한다 -> PR 후 merge)

브랜치를 다른 브랜치에 합치는 것

즉, 특정 브랜치의 commit 들을 다른 브랜치의 commit 내역에 모두 반영하는 것으로 기본적인 설정은 해당 브랜치의 모든 commit 을 모두 다 반영한다고 생각

 

++프로젝트마다 Branch 관리하는 방법이 조금씩 다르다. commit하고 작업하는 방법을 통틀어 flow(흐름) 라고 하며, 대표적으로 github-flow, gitlab-flow, git-flow 가 있다.

 

++웹 프로젝트 개발의 경우 github-flow 를 많이 사용하는데, 우리가 실습하는 방식은 github-flow 와 유사하다.

합칠 (main)브랜치로 체크아웃(더블클릭) -> 윗줄 병합클릭 -> 최신 브랜치를 선택 후 옵션 선택하고 확인

이렇게 병합(merge)를 하면

 


로 나뉘어 있던 환경이

 


이렇게 병합된다


Merge conflict

<<<<<<< HEAD
{현재 브랜치의 다른 파일 내용}
=======
{충돌나는 브랜치명 또는 commit에서의 다른 파일 내용}
>>>>>>> 충돌나는 브랜치명 또는 commmit 아이디

--->
++<<<<<<< 에서 >>>>>>> 까지가 충돌이 나는 부분으로 하나의 파일을 여러 군데에서 변경했기 때문에 변경된 내용 중 어떤 것을 브랜치에 반영할지 파악을 돕기 위해 정보를 알려준다.

++merge confilct 를 고치려면, 내가 원하는 대로 파일을 수정하고(어떤 내용을 반영할지 결정) <<<<<<< HEAD , ======= , >>>>>>> 충돌나는 브랜치명 또는 commmit 아이디 를 지우면 된다.

그 후에 이렇게 수정된 파일을 commit 하면 됩니다!

예시

---->main(기존 뼈대) Branch 내용
---->feature/jjigae(새로 생성한) Branch 내용

<<<<<<< HEAD
{현재 브랜치의 다른 파일 내용}
=======
{충돌나는 브랜치명 또는 commit에서의 다른 파일 내용}
>>>>>>> 충돌나는 브랜치명 또는 commmit 아이디
[채수 만들기]
- 채수를 만들 채소를 적당한 크기로 다듬어준다. 
- 망에 담아 모든 재료를 넣고 적당히 끓여준다. 
- 물이 식으면 체에 걸러준다. 채수 완성!

이 부분이 main 브랜치와 다른내용 탓에 오류가 나는 원인으로

김치찌개 만드는 방법
1. 배추 김치를 먹을만한 크기로 썬다.
[채수 만들기]
- 채수를 만들 채소를 적당한 크기로 다듬어준다. 
- 망에 담아 모든 재료를 넣고 적당히 끓여준다. 
- 물이 식으면 체에 걸러준다. 채수 완성!
[비법] 
- 김치찌개에 사용할 배추 김치를 들기름을 넣고 볶는다. 
- 김치가 거의 볶아지면 버터를 살짝 넣는다. 
2. 냄비에 채수를 넣고 끓인다.
3. 끓인 물에 배추 김치를 넣고 간을 한다.
4. 적당한 크기로 썬 두부를 넣는다. 
5. 두부와 배추 김치가 익으면 끝

으로 수정을 하고 merge commit을 하면된다

 

원격 repo & Branch

원격 repo 는 로컬 repo 가 연결
=로컬 repo 의 브랜치와 원격 repo 의 브랜치가 연결
(따로 설정을 해주지 않으면 기본적으로 로컬 repo의 브랜치명와 같게 원격 repo의 브랜치명이 생성되어 tracking 됨)

 

'💡깨달음💡 > GIT' 카테고리의 다른 글

GIT(기본 명령어)  (0) 2023.06.08
GIT(설치, 환경설정)  (0) 2023.06.08
GIT(개념_03)  (0) 2023.06.08
GIT(개념_01)  (0) 2023.06.08
GIT(처음으로 팀 셋업 진행)  (0) 2023.06.03
Comments