Dev-Tino

Dev-Tino 2주차(1):: Git/Github

포트폴리오는 꼭 여기에 만들라고 항상 이야기 듣는 것

3학년이 되며 늘 들은 소리가 바로 이것이다. ‘Github 계정을 만들라’! Github이란 뭘까? Git은 무엇일까?

Git이란?

Git이란 일종의 ‘분산 버전 제어 시스템’(Distributed Version Control System)이다. 프로젝트의 로컬 복제본이 완전한 ‘버전 제어 레포지토리’라고 생각해도 좋다. 오프라인으로, 원격으로 쉽게 작업할 수 있도록 하는 이 프로그램을 통해 개발자는 유연하게 작업할 수 있다.

즉, Git은 협력 작업을 위한 버전 제어 프로그램이다. 이를 사용해 개발자들은 서로 다른 컴퓨터로 서로 다른 기능을 개발, 추후에 합치는 작업을 할 수 있고 치명적인 오류가 발생했을 때 프로그램을 롤백할 수 있다. 이런 VCS(Version-Control System)은 여러가지가 있지만 그 중 git과 github이 제일 유명하다. (이는 방대한 오픈 소스 때문이지만 그에 대해서는 넘어가겠다.)

이 git을 통해 우리는 ‘여러 사람이 동시에 작업할 때’ ‘상대방의 작업을 방해하지 않으면서’ ‘변경 이력을 남기고’ ‘효율적으로 작업할 수’ 있다. 이 git은 Linux kernel의 개발 도중 만들어졌다. BitKeeper라는 프로그램이 리눅스 커널을 감단하지 못한 것이다. 이때문에 개발자들은 빠르고, 간단한 디자인에 서로 다른 브랜치(branch)가 많으며 큰 사이즈의 프로그램도 관리할 수 있는 git을 만들었다.

이 git에 reporitory(저장소를 의미한다. ‘로컬 저장소’와 ‘원격 저장소’가 있다.)를 생성하고 file을 push하면 시작이다. (이 git의 생성법에 대해서는 언젠가 써보겠다)

repository와 연관된 파일은 지금부터 네 가지 상태를 가지게 된다. ‘Untracked’, ‘Unmodified’, ‘Modified’, ‘Staged’가 그것이다. (git 사이트는 작업 디렉토리의 각 파일을 ‘Tracked’(추적됨)와 ‘Untracked’(추적되지 않음) 두 가지 상태 중 하나로 분류하고, Tracked 파일을 Unmodified, Modified, Staged 상태로 분류하는 것임도 알아두면 좋다.)

Untracked File

‘당신의 마지막 snapshot(특정 시점에 저장된 파일을 스냅 샷-snap shot이라고 한다.)에 저장되지 않고, staged되지도 않은 모든 다른 파일을 이야기한다. 그 파일들은 이후 Unmodified, Modified, Staged-Tracked File이 될 수 있다.

Unmodified

마지막 상태 이후 ‘수정되지 않은’ 파일이다. 영어 단어 그대로 이해하면 된다.

Modified

일부 수정이 된 파일임을 위 그림에서부터 확인할 수 있다.

Staged

수정한 파일을 ‘스테이지에 올린’ 상태이다. 이 이후 commit(의미 있는 변경 작업들을 저장소에 기록하는 작업) 을 거치면 git repository에 파일이 저장된다.

이 상태들과 단어는 github에서도 통용되므로 기억해두는 것이 좋다. (내가 쓰는 안드로이드 스튜디오에서는 shortcut으로, 버튼을 누르기만 하면 commit하고 push할 수 있도록 gui를 제공해주나 그렇지 않은 경우에는 terminal을 이용해야 한다.)

컴퓨터에 대해 공부하는 인간이라면 Github 정도는 알아두는 것이 좋다(…)

git에 대한 아주 기초적인 단어를 알았으니 다음으로는 github에 대해 알아본다. github이란 마이크로소프트 산하의 버전 관리 플랫폼이다. 개발자 컨퍼런스, 커뮤니티, 프로젝트 공유에 Git 호스팅까지 다양한 서비스를 제공하는 탓에 인기가 많다.

이 github은 영리적인 서비스와 오픈 소스를 위한 무상 서비스를 모두 제공한다는 장점을 가진다. git이 일종의 소프트웨어라면 github은 git repository를 제공하는 플랫폼 겸 서비스라 이해하면 된다.

세계 점유율이 제일 높은 github, 이 github에 가입하지 않은 사람이 있다면 얼른 가입해두도록 하자.

이 게시글 외적으로 git에 대해 더 알아보고 싶다면 git의 공식 홈페이지를 확인해보는 것이 좋다. 영어에 거부감이 있다면 크롬의 구글 번역 시스템을 이용해보자::

https://git-scm.com/book/en/v2/Getting-Started-What-is-Git%3F

git 설치는 이 곳에서 할 수 있다::

https://git-scm.com/download

Windows 클릭> 이후, ‘Click here to download’를 누른다.

[참고 자료]

-https://yanacoding.tistory.com/4

-https://goddaehee.tistory.com/91

-https://learn.microsoft.com/ko-kr/devops/develop/git/what-is-git

-https://git-scm.com/book/en/v2/Getting-Started-What-is-Git%3F

-https://limm-jk.tistory.com/6

-https://git-scm.com/book/en/v2/Getting-Started-Git-Basics

-https://medium.com/sjk5766/git-3%EA%B0%80%EC%A7%80-%EC%83%81%ED%83%9C%EC%99%80-%EA%B0%84%EB%8B%A8-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%A0%95%EB%A6%AC-a80161aacec1

-https://abled.tistory.com/9

-https://velog.io/@yooji0415/%EA%B9%83%EC%9D%98-commit%EC%9D%B4%EB%9E%80

-https://f-lab.kr/insight/git-vs-github

-https://namu.wiki/w/GitHub

카테고리
#기타

댓글 0



추천 포스트