메뉴 건너뛰기

(*.168.0.1) 조회 수 313 추천 수 0 댓글 1
Atachment
첨부 '1'
Extra Form
출처 https://skstp35.tistory.com/358#google_vignette

깃(Git) 깃허브(Github) 깃랩(Gitlab)은 무엇인가에 대해서 알아보자

 Git이란 무엇인가?

 깃(Git0)은 2005년에 리누스 토르발스에 의해 개발된 분산 버전관리 시스템(Distributed Version Control Systems - DVCS)으로, 컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 파일에 대한 작업을 조율하는 데 사용된다.

 쉽게 말해, 여러 명의 개발자가 하나의 소프트웨어 개발 프로젝트에 참여할 때, 소스 코드를 관리하는데 주로 사용된다.

 버전관리는 왜 필요한가?

 쉽게 PPT로 발표자료를 만든다고 생각해 보자

 처음에 발표. ppt라는 제목의 파일을 만들었다가, 내용이 바뀌면 발표_수정. ppt라는 파일을 만들고, 수정에 수정을 거치면 점점 발표_수정_ver2.ppt 파일을 만든다.

 그리고 마지막에 최정 파일은 가독성을 높이기 위해 발표_최종버전. ppt 파일을 만들었다고 보자.

위에서 설명한 방법 또한 각 버전의 파일을 복사, 저장, 백업하는 버전 관리 방법 중 하나의 방법이긴 하지만, 어느 것이 갖아 최근의 파일인지 알아보기 어렵고 효율적이지 못한다는 단점을 가지고 있다.

 또한, 개인 PPT가 아닌 팀 프로젝트로 전체 팀원이 만든 파트별 PPT파일을 하나로 취합하는 과정이라고 생각해 보자.

 팀원 C가 본인이 업데이트한 파트 부분을 팀원 A가 만든 발표_최종버전. ppt파일이 아닌, 발표_수정_ver2.ppt 파일에 업데이트를 한 경우에는 팀원 A는 다시 글자 크기를 조절하거나 글씨체를 수정하는 번거로운 과정을 거쳐야 한다.

 팀원이 둘이 아닌 다수인 경우에는 버전 관리를 통해 각 파트별로 만든 파일을 본 버전에 합치는 과정이 매우 복잡해질 것이다.

 개발 프로젝트에서 이런 버전 관리를 돕는 시스템이 바로 깃(git)이다. 

 깃(git)의 장점

 인터넷 연결이 되지 않은 곳에서도 개발을 진행하라 수 있으며, 분산 버전관리이기 대문에 중앙 저장소가 삭제되어도 원상복구가 가능하다.

  • 각각의 개발자가 Branch에서 개발을 한 뒤, 본 프로그램에 Merge 하는 방식을 통한 병렬 개발 가능


서브버전(Subversion SVN)과 비교
SVN중앙서버 업로드(직관적)Git로컬저장소 저장 후 서버 업로드
SVN동시 업로드시 충돌 가능성 많음GitBranch와 Merge를 통해 충돌 가능성 낮음
SVN모든 작업에 네트워크가 사용되어 느림Git작업은 로컬에서, 업로드만 네트워크 사용
  Git히스토리 관리 기능이 잘되어, 관리 용이

 Git 기본 용어

  • Repository 저장소 : 저장소는 히스토리, 태그, 소스의 가지치기 혹은 branch에 따라 버전을 저장한다. 또한 작업자가 변경한 모든 히스토리를 확인 가능
  • Working Tree : 저장소를 어느 한 시점을 바라보는 작업자의 현재 시점
  • Staging Area : 저장소에 커밋하기 전에 커밋을 준비하는 위치
  • Commit : 현재 변경된 작업 상태를 점검을 마치면 확정하고 저장소에 저장하는 작업
  • Head :  현재 작업 중인 Branch를 가리킨다.
  • Branch : 가지 또는 분기점. 작업할 때 현재 상태를 복사하여 branch에서 작업을 한 후에 완전하다 싶을 때 Merge 하여 작업을 한다.
  • Merge : 다른 Branch의 내용을 현재 Branch로 가져와 합치는 작업을 의미한다.

 

깃허브(Github)란 무엇인가?

 깃(Git)을 사용하는 프로젝트를 지원하는 웹 호스팅 서비스.

 깃 : 휴대폰 속 애니팡(오프라인에서도 플레이가 가능)

깃 허브 : 애니팡 서버(온라인 중앙 서버를 통해 유저 간 하트 주고받기, 기록, 경쟁 외 상호 작용 가능)

깃(Git) 사용 시 서버를 자체적으로 구축하는 것도 가능하지만, Github 서버를 이용하는 편이 편하다.

 오픈소스의 경우 무료로 서버 제공 : 오픈소스의 성지

2019년도부터 Private 소스들도 무료 업로드가 가능하다.

깃랩(Gitlab)이란 무엇인가?

 Gitlab은 개인 또는 조직이 Git repository의 내부 관리를 제공하는 데 사용할 수 있는 Github로 즉 비공개된 Github이라고 할 수 있다.

 깃랩(GitLab)의 사용 이유?

GitLab은 중앙 서버에서 Git 저장소를 관리하는 방법이다.
GitLab은 리포지토리 또는 프로젝트를 완벽하게 제어 할 수 있으며, 공개 또는 비공개 여부를 무료로 결정할 수 있다.

 GitLab과 GitHub, 실무에서의 차이?

 1.png

 구축

  • 실무에 도입하기 위해서 가장 먼저 고려되는 사항은 아마도 비용
  • GitHub, GitLab 라이센스마다 가격은 다를 것이고 그 기능은 또 다르기 때문에 비용을 통해서 비교되는 것은 자세한 견적을 통해서만 확인할 수 있다.
  • 우리나라 회사 대부분이 설치형(Self-Managed)을 선호하실 텐데요, GitHub의 경우에는 기본적으로 SaaS 형태로 제공되며 유저당 월 $21 비용이 드는 Enterprise를 선택하셔야만 설치 버전을 사용할 수 있다. 
  • 반면, GitLab의 경우에는 모든 Tier에서 SaaS형, 설치형을 선택적으로 사용할 수 있다

  

 출처 : https://yanacoding.tistory.com/4

https://velog.io/@leyuri/Github-%EA%B3%BC-Gitlab-%EC%9D%98-%EC%B0%A8%EC%9D%B4

 

  • ?
    정보제공 2024.06.03 08:17 (*.168.0.1)
    GitLab VS GitHub 차이점
    https://insight.infograb.net/blog/2023/08/29/gitlab-vs-github/

  1. ITSM, 주요 이점과 관련 솔루션 0 file

  2. No Image 21Sep
    by
    2024/09/21 Views 190 

    한글-프로그램-단축키-모음-자주-사용하는-BEST 0 file

  3. No Image 16Sep
    by
    2024/09/16 Views 208 

    프로토타입/파일럿/PoC/BMT 개념 0

  4. SLA(Service Level Agreement, 서비스수준협약)란 0 file

  5. 깃(Git) 깃허브(Github) 깃랩(Gitlab) 1 file

  6. No Image 06Mar
    by
    2023/03/06 Views 225 

    SLA(Service-Level Agreement, 서비스수준협약) 0

  7. WBS작성, 엑셀 간트차트 만드는 방법 0 file

  8. 글로벌 기업 성공의 비밀, PMO (프로젝트관리오피스) 0 file

  9. 행안부-정보화 표준·지침 자료실 , 2018년도 전자정부사업관리 위탁(PMO)사업 추진계획 0 file

  10. PMO 컨설팅 0 file

  11. IT Governance 0 file

  12. PMO 필요성과 역할 0 file

  13. 성공적인 프로젝트 팀의 비밀 0 file

  14. PMO는 IT 거버넌스 구축을 위한 첫 단추 0 file

  15. PMO는 왜 필요한가 0 file

  16. PMO 성공의 비밀 0 file

  17. 작업 분할 구조도(WBS) 0 file

  18. No Image 01Aug
    by
    2019/08/01 Views 9035 

    EAI(Enterprise Application Integration)란? 0

  19. No Image 01Aug
    by
    2019/08/01 Views 209 

    애자일 - 프로그래밍에 집중한 유연한 개발 방식 0

  20. 정보통신공사업 신규등록 0 file

목록
Board Pagination Prev 1 2 Next
/ 2