티스토리 뷰

Github

버전관리 시스템 : Github 란?

알 수 없는 사용자 2018. 9. 24. 01:43

버전관리 시스템 : Github 란?


 프로그래밍을 공부하는 학생이나 개발자라면 

사용은 안해봤어도 지나가다가 한번쯤은 들어봤을 시스템 'Github'에 대해 공부해보려 합니다.


 저도 프로그램만 설치하고 테스트 용도로 사용하기만 해봤기 때문에 여러 블로그에서 얻은 지식을 통해 설명드리겠습니다~


  단어의 뜻을 알면 무엇에 쓰이는 프로그램인지는 짐작이 오기 마련입니다.


 Github =  Git(재수없고 멍청한 놈) + hub(중심, 중심지)


 외국에서는 git의 의미가 재수없고 멍청한 놈 이외에 다른 뜻으로 사용하기 때문에 사용했는지는 모르겠지만 hub의 의미를 보니 어떤 목적의 중심지를 가진 프로그램이다 라는 추측을 할 수 있습니다.


 유래를 간단히 보면 과거 상용되었던 DVCS를 대신하여 '리누스 토발즈'라는 사람을 중심으로 Linux 개발 커뮤니키가 자체 VCS를 개발한게 Git이라고 합니다.


 * 참고 

   - VCS (Version Control System, 버전관리 시스템) : 

       같은 버젼의 정보에 대해 여러 버젼으로 관리하여 파일의 변화를 시간에 따라 체크하여 특정 시점의 버전을 다시 꺼내올 수 있는 시스템

   - CVCS (Centralized VCS, 중앙집중식 버전 관리 시스템) :  개발시에 개발자들이 함께 작업해야 하는 경우에 사용되는 시스템

 장점 / 누가 무엇을 하는지 관리하기가 쉬움  

 단점 / 중앙 서버가 다운될 경우 모든 작업이 중단되고 하드디스크에 문제가 생기면 모든 정보를 잃을 수도 있다.

   - DVCS (Distributed VCS, 분산 버전 관리 시스템) : 파일의 스냅샷을 클라이언트가 가져가는 것이 아니라 저장소 자체를 복제하는 시스템

      장점 / 서버 다운에도 복원에 용이, 리모트 저장소가 많을 수도 있기 때문에 동시에 많은 그룹과 다양한 방법으로 협업이 가능하다.


distributed-version-control-system

   - 스냅샷 : 데이터의 보존방법 중의 하나로 어떤 상태의 데이터가 보존된 상태로 캡쳐하듯이 데이터를 담은 거대 이미지파일을 만들어 보관하는 방법...!

                (윈도우 pc에서 ctrl + printscroll로 캡처하듯이 이미지로 떠서 보관하는 것이라 하네요..!)

               


 우리가 알아보는 Github는 VCS 중에서도 DVCS로,  기본적으로 자신의 저장파일을 비공개가 아닌 다른 사용자가 볼 수 있는 공개형태를 베이스로 두고 있기 때문에 개발자 뿐만 아니라 많은 분야의 사용자들이 사용하고 있는 프로그램입니다. 

 여러가지 프로젝트를 만들다보면 많은 사람들이 github에 파일을 올려놓고 공유하는 것을 많이 볼 수 있었는데 아직 저처럼 취준생이나 일반인도 접근하기 쉽기 때문에 많은 사용자가 사용한다고 생각합니다.^_^

 (사실 처음 접했을 때는 단순히 자신의 파일을 공유하는 프로그램인줄 알았는데 버젼관리,형상관리가 주 목적이였네요..ㅎㅎ)

 

  나중에 Github에 설치시 해야할 일, 사용되는 간단한 커멘드명령어나 기능들에 대해서 알아보긴 하겠지만 

큰 틀에서 보면 

 프로젝트가 거주할 장소인 온라인 저장소를 생성한 후 프로젝트를 작업할 공간인 컴퓨터에 로컬 저장소를 생성하는 개념인 것 같다

 온라인 저장소와 로컬 저장소를 remote시켜주면 서로 연동되어 사용할 수 있는 것이다...!






사실 이 동영상을 보면 어떤 용도로 사용되는지 딱 정리 될 것이다.

 동영상에서 '프로젝트의 역사를 탐험'이라는 말을 쓰는데 이 말이 정말 딱 github를 표현하기 좋은 말인 것 같다.

 앞으로  중요 프로젝트나 자료들은 이런 형상관리 시스템에 보관하여 사용하는 것이 중요한 것 같다...!!


==================================================================================

처음 쓰는 글이라 기승전결도 없고 휘갈겨 적은 느낌이 없지않아 있지만 하다보면 실력이 늘것이라 생각한다...ㅎㅎ

사실 누가 이 글을 보고 배웠으면 한다 라는 느낌보다는 

내가 정리하면서 한번 더 생각해보고 복습하는 느낌이라 정확한 자료는 밑에 참고 사이트에서 보는 것이 좋을 것 같다!





*참고 사이트

 http://flowerykeyboard.tistory.com/1

 https://nolboo.kim/blog/2013/10/06/github-for-beginner/

 http://recoveryman.tistory.com/249?category=635733    

 https://moon9342.github.io/git-github                        

 

     

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함