VCS and OPENSOURCE

VCS란?

Git 을 소개하기 전에 VCS를 가장 먼저 알아야한다고 생각되어 먼저 소개해드리겠습니다! VCS란 Version Control System의 약자입니다. 우리말로는 버전관리시스템. 우리는 프로그램을 만들때, 프로그램명_V1, V2, V3 등 처럼 뒤에다가 붙여 저장합니다. 우리가 이렇게 하는 것도 버전관리의 일종이라고 볼 수 있습니다. 파일을 수정하고 저장했다가, 나중에 뭐가 잘못된거나 하면 다시 이전버턴으로 돌아갈 수 있도록 하는 것이 바로 버전관리의 정의입니다.

VCS의 종류

VCS의 종류는 세가지입니다.

  1. 로컬버전관리
    컴퓨터에서 디렉토리 만들고 그 안에서 파일명으로 버전별로 관리하는 단순하고 일반적인 형태의 VSC방식입니다. 잘못될 위험이 크고 체계적이지 못하다는 단점이 있습니다.

  2. 중앙집중식 버전관리(CVCS)
    서버에다가 관리하는 형태, 프로젝트가 있다면 그 프로젝트 수정한 것을 서버에 올리고 다른 사람도 수정해서 서버로 올리는 형태입니다. 로컬에서는 관리를 안하고 서버에서만 관리하기 때문에 서버가 다운되거나, 정보가 날라가거나, 수정 충돌 문제가 발생할 수 있다.

  3. 분산버전관리시스템
    서버에서 관리하고 로컬에서도 관리를 한다. 서버가 날라가도 로컬이 있으며 로컬이 날라가도 서버가 있어서 매우 안적적인 시스템이다. Git이 이 방식을 쓴다.

Git의 역사

리누스 토발즈 가 리눅스를 만든 사람이라는 것은 모두 다 많이 들었을 것입니다. Git도 이분이 만들었다고 합니다. tmi지만 2주밖에 안걸렸다고 하네요. 리눅스는 커널이라고 하는 리눅스 운영체제의 핵심소프트웨어가 있고 오픈소스로 공개해놓았기 때문에 누구나 수정해서 올릴 수 있습니다. 이러한 방식이다보니 처음엔 괜찮았지만 점차 관리가 힘들어졌습니다. 그래서 Bitkeeper라는 버전관리시스템을 가져다 썼는데, 그러다가 유효화가되고 사용제한이 걸려 리누스 토발즈가 Git을 제작했다고 합니다~!

Git과 Github

Git은 버전관리시스템 이고 Github는 Git을 이용하여 웹에다가 호스팅해주는 무료저장소 공간이자 오픈 소스코드가 모여있는 성지입니다 Git과 Github를 연동해서 웹상에다가 올리고 받고를 할 수 있으며 한마디로 Github가 원격저장소 역할 을 해줍니다.

Git의 원리

Git과 다른 VCS는 큰 차이를 가지고 있습니다.

대부분의 버전관리

Git을 제외한 대부분의 버전관리는 파일이 약간만 수정되어도 버전을 바꾸며 바뀐 파일 이외도 같이 저장하게됩니다. 이 방식은 저장공간을 많이 차지하고 중복된 저장으로 인해 비효율적 입니다.

Git의 버전관리

Git의 방식은 파일이 일부 수정되어도 버전이 달라지는 것이 아니고 전과 비슷한데 뭐가 다른거라는 생각을 합니다. 중복된 파일을 저장하는 경우 링크형식으로 해서 저장합니다. 파일을 저장하는게 아닌 링크형식으로 이전 파일을 가리키기 때문에 대부분의 버전관리보다 훨씬 공간도 적게 들고 효율적 입니다. 또한 대부분의 VCS는 명령어가 서버에 있기 때문에 네트워크에 영향을 받습니다. 하지만 Git은 명령어가 로컬영역에 있기 때문에 빠르고 효과적으로 수행가능합니다!

Ubuntu에서 git 설치 및 clone하기

  1. sudo apt-get install git 명령어를 입력하여 패키지 리스트를 업데이트 합니다.
  2. sudo apt install git 명령어를 입력하여 깃을 설치합니다.
  3. git --version이라는 명령어를 입력하면 설치할 git의 버전을 알 수 있습니다.
  4. 아래 명령어를 입력하여 깃에 push했을 때 올라갈 내 정보를 입력해줍니다.
git config --global user.name [이름]
git config --global user.email [메일 주소]
  1. git clone [url 주소]를 입력하여 자신이 원하는 프로젝트를 깃으로부터 내려받습니다.
  2. 홈에 가면 위와같이 내가 내려받았던 깃 프로젝트가 있는 폴더를 확인할 수 있습니다.

Window에서 git 설치 및 clone하기

  1. https://git-scm.com/downloads 링크되어 있는 페이지에 들어가서 자신의 OS에 맞는 Git 설치버전을 받는다.
  2. 약관, 설치경로, Component 등을 읽으며 설정을하여 설치를 완료한다.
  3. 깃을 처음 설치하면 Name과 Email이 Null로 되어있으므로 설치받은 GitBash를 열어서 아래의 명령어를 치고 설정을 해준다.
git config --global user.name [이름]
git config --global user.email [메일 주소]
  1. 아래의 명령어를 입력하여 잘들어갔는지를 확인한다.
git config --list
  1. clone할 디렉토리를 생성한 후 오른쪽 버튼을 클릭하여 'Git Bash Here'을 실행합니다.
  2. git clone [url 주소]를 입력하여 자신이 원하는 프로젝트를 깃으로부터 내려받습니다.
  3. 디렉토리에 들어가 내려받았던 깃 프로젝트가 있는지를 확인합니다.

Github에 올려보기 ( + fork를 한 경우)

  1. clone한 디렉토리에서 프로그램 코드나 md파일을 추가 작성합니다.
  2. git checkout -b [branch 이름]을 사용하여 올릴 브랜치를 생성합니다.
  3. git add 명령어를 사용하여 작성한 파일들을 추가합니다.
  4. git commit -m '' ''안에 커밋 메시지를 적어줍니다.
  5. git push origin [branch 이름]을 사용하여 Github에 올려줍니다!!
  6. main에 올려주기위해 comapre~써져 있는 부분을 눌르면 오픈소스에 대해서 기여하고 싶을 때 merge요청을 할 수 있습니다!

내가 원하는 오픈소스를 다운받아보자!

위에서 배웠던 방법들을 통하여 오픈소스 파일을 clone해보세요!!