Web/TIL

개발문화, Git 수업

gorae_lulu 2022. 11. 17. 22:19

 

 

 

 

개발문화 정해진건 없다. 나한테 맞으면 좋은 개발문화.

 

다만,  좋은 개발 문화를 만들기 위해, 수립하기 위해 노력해야 하는 것!

 

 

 

 

Waterfall Model ( 폭포수 모델 )

 

• 가장 익숙한 소프트웨어 개발 기법

• 고전적인 소프트웨어 생명 주기

• 병행 수행되지 않고 순차적으로 수행

 

 

Waterfall Model ( 폭포수 모델 )

 

Waterfall Model의 장단점

 

장점

단순한 선형 모델 - 이해 쉬움

단계별로 정형화된 접근 방법 - 체계적 문서화 가능

프로젝트 진행 상황 명확히 파악 가능

 

단점

요구사항을 완벽하게 작성해야 함

변경 수용 어려움

시스템의 동작을 후반에 확인 가능

대형 프로젝트에 적용 부적합

지나친 문서화

위험 분석 결여

일정 지연 가능성 큼

 

 

 

 

 

Agile ( 애자일 )

 

• 짧은 주기로 설계, 개발, 테스트, 배포 과정을 반복

• 요구상을 작은 단위로 쪼개 그에 대한 설루션을 만들고, 빠르게 보여줌으로 써 요구 사항에 대한 검증을 진행

 

 

 

 

Agile 방법론

 

 

 

Scrum(스크럼)

 

1. 개발자와 고객 사이의 지속적인 커뮤니케이션을 통해 요구사항을 수용

2. 고객이 결정한 사항을 가장 우선적으로 시행

3. 팀원들과 주기적인 미팅을 통해 프로젝트를 점검

4. 주기적으로 제품 시현을 하고 고객으로부터 피드백 수용

 

 

Kanban(칸반)

 

장점

• 업무 흐름의 시각화

• 진행 중 업무의 제한

• 명시적 프로세스 정책 수립

• 업무 흐름의 측정과 관리

 

 

 

 


 

Git

 

• Git 이란?

 

소스 코드를 효율적으로 관리하기 위해 만들어진 “분산형 버전 관리 시스템”

 

 

• 사용 이유?

 

소스 코드의 변경 이력을 쉽게 확인 특정 시점에 저장된 버전과 비교하거나 특정 시점으로 돌아가기 위해

 

 

Branch 

 

독립적으로 어떤 작업을 하기 위해 필요한 개념

ex) A라는 사람이 “로그인” 기능을 만들고, B라는 사람이 “버그 수정”을 할 때 A와 B는 최초 Branch에서 파생한 각각의 Branch를 만들어 작업을 진행하고 최초 Branch로 Merge를 통해 각자가 작업한 것을 합칠 수 있다

 

 

 

Branch 생성하기 

 

 git branch   # local branch 목록 확인
 
 git branch "브랜치명"  #현재 branch에서 새로운 branch생성
  
 git checkout "전환 브랜치명"   # branch 이동
 
 git branch -d "브랜치명"  # branch 삭제(단, 삭제할 branch가 현재 branch에 합쳐져 있을 경우에만)

 

 

새로운 branch 생성 & 이동 동시에

git checkout -b "만들 브랜치명"

 

 

 

 

 

Branch의 종류(5가지)

 

 

 

Branch - master

 

제품으로 출시될 수 있는 브랜치

• 배포(Release) 이력을 관리하기 위해 사용

• 배포 가능한 상태만을 관리하는 브랜치

 

 

 

Branch - develop

 

다음 출시 버전을 개발하는 브랜치

• 기능 개발을 위한 브랜치들을 병합하기 위해 사용

• 평소 개발을 진행하는 브랜치

 

 

 

Branch - feature

 

기능 개발을 진행하는 브랜치

• 새로운 기능 개발 및 버그 수정을 할 때마다 ‘develop’에서 분기

• 공유할 필요가 없어 로컬에서 진행 후 develop 에 merge 해 공유

• 이름 : feature/~~

 

 

 

Branch – hotfix

 

• 출시 버전에서 발생한 버그 수정 브랜치

• 배포한 버전에 긴급하게 수정해야 할 필요가 있는 경우 사용

• Master에서 분기

• 이름 : hotfix-0.0.0

 

 

 


 

 

Pull Request

 

 

 

Push 권한이 없는 오픈 소스 프로젝트에 기여할 때 많이 사용함.

• “ 내가 수정한 코드가 있으니 내 branch를 가져가 검토 후 병합(merge) 해주세요!! ”

• 당황스러운 코드 충돌을 줄일 수 있음

 

 


 

 

.gitignore

 

. gitignore?

• Git 버전 관리에서 제외할 파일 목록을 지정하는 파일

• Git 관리에서 특정 파일을 제외하기 위해서는 git에 올리기 전에. gitignore에 파일 목록을 미리 추가해야 한다

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'Web > TIL' 카테고리의 다른 글

파일 업로드 수업  (0) 2022.12.06
form 전송 수업  (0) 2022.11.30
Epxress, ejs 수업  (0) 2022.11.28
Node.js 수업  (0) 2022.11.20
NCP 서버구축 수업  (0) 2022.11.17