Git 시작하기 - 1

유인성·2021년 7월 23일
0

Git 시작하기 -1

git은 단순히 개인용 워크스페이스, 혹은 오픈 소스를 무료로 공유하는 단순한 플랫폼으로만 알고있었지만 훨씬 다양한 기능들이 존재했다!

shell, git, bash, github의 차이를 알아보고 시작해보자!

1. Shell과 kernell

git을 이해하기 전 shell이라는 것의 개념을 알아보자!

Shell

  • 운영체제의 커널(kernnel)과 사용자를 이어주는 소프트웨어

그렇다면 kernnel은 무엇일까?

Kernell

커널은 하드웨어와 응용프로그램을 이어주는 운영체제의 '핵심 시스템소프트 웨어'라고 간략히 이해할 수 있다.

  • 하드웨어 - 운영체제 내 '핵심 시스템소프트웨어' - 응용프로그램

예를들면, 디바이스 내의 프로그램이나 어플리케이션과 디바이스 사이에서 작동하는 운영체제 내의 가장 핵심적인 시스템소프트웨어라고 생각하면 쉽다.

cpu, memory, device 모두 운영체제 내 시스템 소프트웨어를 제어하는 커널을 통해 프로그램과 어플리케이션을 실행할 수 있게 해준다.

다시 shell로 돌아와보자.

  • kernnel프로그램디바이스를 연결해주는 역할을 한다면,
  • shell은 이 kennel사용자를 연결해주는 역할을 한다.

즉, 사용자디바이스 조작 - shell - kennel - 프로그램의 순서로 제어가 이루어지고, shellkennel의 조작을 손쉽게 하기 위한 소프트웨어임을 확인할 수 있다!

  • 실제로 kernnel과 shell의 개발 배경은 다양한 운영체제와 git의 등장을 포함한 기계 및 컴퓨터 공학의 역사를 배경으로 하므로 관심이 있다면 찾아보자!

2. BASH

bash는 다양한 운영체제와 사용자 편의, 기능을 고려해 생겨난 shell 중 하나라고 생각하면 쉽다.
현재는 LINUX와 MAC OS 등 다양한 운영체제의 기본 shell로 자리잡고있다.

3. Git

그렇다면, git은 정확히 어떤 개념을 가지고 있을까?

이는 git의 개발 스토리를 이해하면 쉽게 접근할 수 있다.

git은 LINUX의 커널을 관리하는 기존 툴이 엉망인 것을 개선하는 것에서 부터 시작됐다. 오픈 소스계의 영원한 아이돌인 리누스 토르발스가 커널 관리를 용이하기 위해 개발한 것이 바로 이 git이다.
즉, 사용이 용이한 shell의 한 종류라고 생각하면 쉽다.

  • shell이 커널을 제어하기 위환 환경을 구축한다면,
  • git은 프로젝트 단위의 개발을 진행할 때, 팀원들 간의 소스코드를 효과적이고 효율적으로 관리하게 해주는 것이다.

4. Git Bash

그렇다면 git bash라는 것은 무엇일까?

기존의 bash는 다양한 운영체제 내의 kernnel을 사용자가 접근하기 쉽게 만든 환경이었다. 따라서 운영체제에 따라 그 기능과 성능, 편의성이 상이할 수밖에 없다.

git bash는 widnows 운영체제에서 unix bash의 호환성을 위한 목적성도 가지고 있다.

  • unix기반의 운영체제에 적합한 bash의 window운영체제에서의 호환성
  • git의 주요 기능들을 사용할 수 있도록 제공되는 환경

등을 개선해 개발된 bash라고 생각하면 접근하기 쉽다!

profile
안녕하세요

0개의 댓글