.

[git] 봐야할 거 이해해야할 거 기본적인 거 본문

카테고리 없음

[git] 봐야할 거 이해해야할 거 기본적인 거

cuveloper 2019. 7. 6. 23:03

빨강: 용어 찾아보기

(초록): 내 생각, 후 맞나 확인하기(틀린 정보라 정정해주세요!) 


Git


SVN과 마찬가지로 Git은 소스코드를 관리하기 위한 분산형 관리 시스템 소프트웨어 이다.

SW를 개발하는 기업의 핵심 자산인 소스코드를 효과적으로 관리할 수 해주는 SW.

오픈소스 커뮤니티의 발전(Git Hub:인가?)과 함께 널리 사용,

SVN을 사용하던 개발자들도 Git으로 갈아타고 있는 추세.

 

분산형 관리 시스템이란, 중앙 서버에 소스코드와 히스토리를 저장하는 SVN과 달리

소스코드를 여러 개발 PC와 저장소에 분산해서 저장하는 것을 말한다. 고로 중앙 서버에 장애가 발생해도 

로컬 저장소에서 커밋을 할 수 있다.(오 학교에서 배운거다) 고로 당연히 로컬 저장소를 이용해 중앙 저장소로 복원이 가능하다. 분산형으로 코드를 관리하기 때문에 다양한 Workflow를 가능하게 한다.(장점)

 

Git 리눅스를 만든 리누스 토발즈가 리눅스 커널 개발에 이용하려고 만든 것이고, 이후 GitHub 등에서 오픈소스 개발을 위해 사용하면서 SW업계에 널리 사용되었다.

 

Git은 작은 SW개발 프로젝트에서 방대한 프로젝트까지 다양한 규모릐 SW 소프코드를 빠르고 효과적으로 관리할 수 있는 무료 공개 SW이다.

 

Workflow

Git은 분산형 관리시스템이지만(?) 중앙집중형 관리 방식으로 구성할 수도 있다.

1. 중앙집중식(Centralized Workflow : SVN Style)

 

중앙: 공유 저장소

개발자: 복제(checkout or clone)하여 작업 진행 -> 완료되면 Commit(push)

 

중복수정 시 Git이 Push Conflit 발생 알려줌, 그 충돌을 인지한 개발자는 적절히 처리하면 됨.

(그래서 기업 능력에 커뮤니케이션이 중요한가 보다/ 근데 일일히 말해야 하나???)

 

2. 분리형(Integration-Manager Workflow: GitHub style)

오픈소스를 hosting하는 깃헙 특성에 맞는 Workflow.

 

 

프로젝트를 대표하는 메인 저장소(Main Repository: Blessed Repository)가 존재하고 

개발자들은 해당 메인저장소를 Clone 하여 작업 진행

메인 저장소는 Integration-Manager라고 하는 역할이 관리를 하게 되며, 개발자들은 자신의 저장소에 작업을 반영한다. 

이후 개발자들은 메인 저장소에 바영해 달라고 Integration-Manager에게 요청을 하면 IM이 수정사항을 리뷰하여 적절한 경우 변경사항을 반영한다.

 

1. 개발자: 메인 저장소 복제

2. 개발자: 개발 이슈 처리(자신 담당 처리) 후 자신의 Public 장소에 Push

3. 개발자: IM에게 Pull Request 요청

4. IM: 개발자의 코드리뷰(PUblic에 있는), 반영여부 결정

 

 

출처: http://it.plusblog.co.kr/221222985023

 

 

빨강이들 모음.Zip

  • Workflow 

본래는 business process를 수행하기 위해 일어나는 일련의 업무 흐름을 뜻한다. 워크플로 제품들은 한 조직체 내에서 발생하는 이러한 일련의 업무들을 정의하고, 정해진 시간 안에 업무가 자동적으로 수행 되도록 보장하기 위해, 클라이언트/서버 기술을 기반으로 하여 만든 소프트웨어이다. 기업 내 업무 프로세스를 수행하기 위하여 발생되는 트랜잭션을 처리하기 위해서 개별 단위의 태스크(task)들을 연결하고, 자동화 처리하는 컴퓨팅 환경을 말하는 것으로 구조화 데이터에 대한 데이터 베이스 기술, 비정형 비구조화되어 있는 문서, 이미지, 팩스, 엑셀, 각종 수작업이 필요한 워드 등의 다양한 업무 처리 기술을 활용하여 하나의 워크플로 체계로 통합되어 운영·통제되는 정보적 기술이다. 여기에는 RDBMS(relational data base management system), 응용 시스템 기술, 이미징, 팩스, 멀티미디어, 메시징, API 등 복합 기술의 통합을 전제로 한다.

[네이버 지식백과] 작업 흐름 [workflow] (컴퓨터인터넷IT용어대사전, 2011. 1. 20., 전산용어사전편찬위원회)

 

Comments