Study/git

[깃&깃허브 입문] 깃 시작하기

Jio_ni 2025. 3. 20. 16:08

깃이란?

리눅스 창시자인 리누스 토르발스는 2005년에 깃(Git)을 처음 세상에 소개하였습니다.

깃으로 무엇을 할 수 있을까?

깃으로는 버전 관리, 백업, 협업을 할 수 있습니다.

1. 버전 관리

  • 깃을 사용하지 않고 저장을 하는 경우는 '다른 이름으로 저장'을 할 수 있다. 그러나 어떤 파일에서 어떤 내용을 수정했는지 기억할 수 없다.
  • 반면, 깃은 문서를 수정할 때마다 언제 수정했는지, 어떤 것을 변경했는지 편하고 구체적으로 기록하기 위한 버전 관리 시스템이다.

2. 백업하기

  • 컴퓨터가 언젠가 고장나는 것은 확실하다. 만일 자료를 컴퓨터에만 저장한다면 언젠가 그 자료가 유실될 것이다. 그래서 백업을 해야한다.
  • 백업은 현재 컴퓨터에 있는 자료를 다른 컴퓨터에 복제하는 것이다. 백업 공간을 제공하는 인터넷 서비스 중에는 깃 파일을 위한 것도 여럿 있다. 이를 깃의 원격 저장소 또는 온라인 저장소라고 하고 가장 많이 쓰이는 것은 깃허브(GitHub)이다.

3. 협업하기

  • 여러 사람이 함께 일할 수 있다는 장점이 있다. 팀원들이 파일을 편하게 주고받으면서 일할 수 있다.
  • 또한 누가 어느 부분을 수정했는지 기록에 남기 때문에 나중에 오류가 생겼을 때도 파악하기 쉽다.
  • 깃은 협업 과정에서 일어날 수 있는 여러 문제를 중간에서 정리해 주는 기능도 가지고 있다.

세 가지 기능은 순서대로 배워야한다. 버전 관리를 이해하지 못하면 백업을 이해할 수 없고, 백업을 이해하지 못하면 협업을 이해할 수 없기 때문이다.


깃 프로그램의 종류

깃은 제품군이고 여러가지의 깃 프로그램이 존재한다.

깃허브 데스크톱

깃허브 데스크톱(GitHub Desktop)은 깃 온라인 저장소 서비스인 깃허브에서 제공하는 프로그램으로 복잡한 깃 사용법을 그래픽 사용자 인터페이스(Graphic User Interface, GUI)로 구현한다.

토터스깃

토터스깃(TortoiseGit)은 윈도우 전용 프로그램으로 윈도우 탐색기의 빠른 메뉴에 추가되는 프로그램이다.

소스트리

소스트리(SourceTree)는 깃의 기본 기능부터 고급 기능까지 사용할 수 있는 프로그램이다.

커맨드 라인 인터페이스

커맨드 라인 인터페이스(Command Line Interface, CLI)는 터미널 창에 직접 명령을 입력해서 깃을 사용하는 방식이다. 개발자 대부분은 CLI로 깃을 사용한다.


깃 설치하기

깃은 누구나 무료로 설치할 수 있다.

깃 환경 설정하기

  • 깃을 사용하기 전에 먼저 사용자 정보를 입력해야 한다. 깃은 버전을 저장할 때마다 그 버전을 만든 사용자 정보도 함께 저장하기 때문이다.
  • 깃에서 사용자 정보를 설정하려면 git config 명령을 사용한다. 여기에 --global 옵션을 추가하면 현재 컴퓨터에 있는 모든 저장소에서 같은 사용자 정보를 사용하도록 설정한다.
$ git config --global user.name "이름"
$ git config --global user.email "이메일"

리눅스 명령 연습하기

현재 디렉터리 살펴보기

  • ~ : 홈 디렉터리(home directory)에 있다는 의미
  • pwd(print working directory) : 현재 위치의 경로를 표현
$ pwd
  • ls(list) : 현재 디렉터리에 어떤 파일이나 디렉터리가 있는지 확인
$ ls
  • 리눅스 명령에 옵션을 추가하려면 붙임표(-)와 원하는 옵션을 나타내는 글자를 함께 입력한다.
    • 파일이나 디렉터리의 상세 정보까지 표시하는 옵션을 추가하려면 -l을 추가로 입력한다.
    • 숨긴 파일과 디렉터리를 표시하려면 -a를 추가 입력한다.
$ ls -al

ls 명령 옵션 모음

옵션 설명
-a 숨김 파일과 디렉터리도 함께 표시
-l 파일이나 디렉터리의 상세 정보를 함께 표시
-r 파일의 정렬 순서를 거꾸로 표시
-t 파일 작성 시간 순으로 (내림차순) 표시

터미널 창에서 디렉터리 이동하기

터미널 창에서 디렉터리 사이를 이동할 때는 cd(change directory) 명령을 사용한다.

  • 현재 위치에서 상위 디렉터리로 이동
$ cd ..
  • 하위 디렉터리로 이동할 때는 cd 명령 다음에 이동할 하위 디렉터리 이름을 입력
$ cd Users
  • 홈 디렉터리로 가려면 cd 명령 다음에 ~를 입력
$ cd ~

리눅스에서 디렉터리를 나타내는 기호

기호 설명
~ 현재 접속 중인 사용자의 홈 디렉터리를 가리킨다.
홈 디렉터리의 경로는 'c/Users/사용자 아이디'이다. 사용자 디렉터리라고도 부른다.
사용자 아이디는 5글자까지만 나타낸다.
./ 현재 사용자가 작업 중인 디렉터리
../ 현재 디렉터리의 상위 디렉터리

터미널 창에서 디렉터리 만들기 및 삭제하기

  • 현재 디렉터리 안에 하위 디렉터리를 만들 때는 mkdir(make directory) 명령을 사용한다.
$ cd Documents
$ mkdir test
  • 디렉터리를 삭제할 때는 rm(remove) 명령을 사용한다.
    • -r 옵션을 붙이면 디렉터리 안에 있는 하위 디렉터리와 파일까지 함께 삭제된다.
$ rm -r test
$ ls
  • 삭제할 디렉터리의 상위 디렉터리에서 rm 명령을 입력해야 한다.

Vim에서 텍스트 문서 만들기

리눅스의 기본 편집기인 빔(Vim)은 터미널에서 사용할 수 있는 대표적인 편집기이다.

  • Documents 디렉터리로 이동해서 test 디렉터리를 만들고 이동
$ cd Documents
$ mkdir test
$ cd test
  • vim 명령은 뒤에 입력한 파일 이름과 같은 파일이 없다면 그 이름으로 새로운 텍스트 문서를 만들고, 파일이 있다면 그 파일을 연다.
$ vim test.txt

  • ex 모드 → 입력 모드 : I 또는 A를 누른다.
    입력 모드가 되면 화면 왼쪽 맨 아래 끼워넣기라는 단어가 뜨는데, 이때부터 텍스트를 입력할 수 있다.
    • I는 Insert(삽입)를 의미하고 A는 Add(추가)를 의미한다.
  • 텍스트 입력이 끝난 후 파일을 저장할 때 다시 ex 모드로 돌아가야 한다.
    Esc를 누르면 ex 모드로 돌아간다. 그리고 ':wq' 명령을 입력하고 Enter를 누른다.
    • 'w' : 저장을 실행하는 명령
    • 'q' : 종료를 실행하는 명령

빔 ex 모드 명령 모음

ex 모드에서 사용하는 명령은 콜론(:)으로 시작한다.

명령 설명
:w 또는 :write 편집 중이던 문서를 저장
:q 또는 :quit 편집기를 종료
:wq (파일) 편집 중이던 문서를 저장하고 종료
파일 이름을 함께 입력하면 그 이름으로 저장한다.
:q! 문서를 저장하지 않고 편집기를 종료
확장자가 .swp인 임시 파일이 생긴다.

텍스트 문서 내용 확인하기

터미널 창에서 간단히 텍스트 문서의 내용을 확인할 때는 리눅스의 cat(concatenate) 명령을 사용한다.

$ cat test.txt
명령 설명
$ cat 파일 파일의 내용을 화면에 표시
$ cat 파일1, 파일2, ... 파일 n > 새파일 파일 n개를 차례로 연결해서 새로운 파일을 만듦
$ cat 파일 1 >> 파일 2 파일 1의 내용을 파일 2 끝에 연결

 

반응형