Git

git 기초 명령어

개요

이번 시간부터는 깃 기초 명령어를 다룰 겁니다.

git bash는 이름에서도 보이듯이 bash shell 명령어를 사용하기에 리눅스 명령어를 사용하면 편한 상황이 간혹 있습니다.

하지만 리눅스 명령어 강의가 아니므로 필요한 부분만 설명을 하고 넘어가도록 하겠습니다.

리눅스 명령어는 필수적인 부분은 아니기 때문에 굳이 외울 필요는 없습니다.

 

이번 시간에 다룰 내용에 대해서 먼저 알려드리겠습니다.

  • 깃허브 새로운 repo 만들기
  • 깃 시작하기
  • 깃 커밋하기
  • 깃 푸시하기

 

GitHub repo 만들기

깃허브 본인 계정에서 새로운 repo를 만들 겁니다.

 


  • [Start a project]를 클릭합니다.

 

 


  • Repository name을 적어줍니다.
    저는 first-git 으로 하겠습니다.
  • Description은 이 repo가 어떤 것인지를 나타내는 간략한 설명을 적을 수 있습니다.
    적지 않아도 되지만 저는 '깃 명령어 기초'라고 써두겠습니다.
  • 이 repo를 공개로 하고 싶으면 Public / 비공개는 Private로 합니다.
    저는 Public 으로 하겠습니다.
  • [Initialize this repository with a README]를 선택하겠습니다.
    선택이 필수는 아니지만, 일단은 선택하고 뒤에 설명을 하겠습니다.
  • 나머지 [Add .gitignore]와 [Add a license]는 일단 None으로 두고 나중에 설명할 기회가 있을 때에 다뤄보도록 하겠습니다.
  • [Create repository]를 클릭합니다.

 

 


  • repo가 만들어졌습니다.

 

 

 

working directory 만들기
  • 각자 본인의 컴퓨터에 원하는 위치에 디렉토리를 만들어줍니다.

저는 [test1] 이름의 디렉토리를 만들어주었습니다.

빨간 네모 안에서 여백 공간을 클릭하면 디렉토리 위치가 선택이 되는데 이를 복사해줍니다.

 

 


  • Git bash를 켜고 다음과 같이 명령어를 입력해줍니다.
  • cd "디렉토리 복사한 주소"
    cd 명령어는 "change directory", 디렉토리를 변경한다라는 의미로 리눅스 명령어입니다.
    주소는 큰 따옴표로 묶어주도록 합시다.
  • 참고로 git bash에서는 ctrl+v가 붙여넣기가 아닙니다. (Shift+Ins)

 

 

 

 

원격 저장소 가져오기
  • 조금 전에 깃허브에서 원격 저장소 'first-git'을 만들었습니다.
  • 우리가 그곳에서 단순히 저장소만 만들고 다른 것은 만들지 않았다고 생각할 수도 있지만, 사실 우리는 README.md라는 파일을 만들었습니다.

  • 잠깐, README.md 파일은 무슨 파일일까요?
    우리가 열심히 어떠한 프로젝트를 진행하고 이것을 깃허브에 올려놓았다고 합시다.
    우리는 이 프로젝트가 무엇이고 어떻게 실행되는지 알고 있지만, 다른 사람들은 이 프로젝트가 무슨 프로젝트인지 전혀 알 수가 없습니다.
    그래서 우리가 만든 프로젝트에 대한 설명 및 실행방법 등을 적어놓는 파일이라고 생각하시면 됩니다.
  • 확장자가 md인데 이것은 markdown 문법을 사용한다는 의미입니다.
    위키백과를 보면 마크다운은 일반 텍스트 문서의 양식을 편집하는 문법이라고 나와 있습니다.
    자세한 내용은 다음 링크를 참고하시길 바랍니다.
    https://ko.wikipedia.org/wiki/%EB%A7%88%ED%81%AC%EB%8B%A4%EC%9A%B4

 

 


  • 우리는 원격 저장소의 저장소를 그대로 우리의 복사해 가져와서 이용해보도록 하겠습니다.
  • 이럴 때 사용할 수 있는 명령어가 git clone 입니다.

 

 

 

git clone
  • 먼저, 아까만든 깃허브 repo에 들어갑니다.
  • [Clone or download]를 클릭합니다.
  • 주소 옆에 버튼을 클릭하면 자동으로 깃 repo 주소가 복사됩니다.

 

 


  • git clone 복사해온 주소

 

 


  • ls -l
    ls 는 디렉토리의 내용을 알고 싶을 때 사용하는 리눅스 명령어입니다.
  • 우리가 원격 저장소로부터 복사해온 first-git 가 있는 것을 알 수 있습니다.

 

 


  • cd first-git
    그 디렉토리로 이동해봅시다.
    우리가 가져왔던 README.md 파일이 있는 것을 확인할 수 있습니다.
     
  • cat README.md
    cat 명령어는 파일 내용을 확인할 때 사용하는 리눅스 명령어입니다.
    우리가 처음에 작성한 내용을 확인할 수 있습니다.

 

 

 

git init

본격적으로 깃을 시작해봅시다.

명령어로 git init 을 입력합니다.

  • git init

 

 


비어있는 깃 repo가 시작되었다고 나옵니다.

좀 전에 이동한 first-git 디렉토리 밑에 .git 디렉토리가 하나 만들어진 것을 볼 수 있습니다.

.git 디렉토리는 숨김폴더이므로 '숨김폴더 보이기' 설정을 해주면 볼 수 있습니다.

이제부터 깃은 .git 디렉토리가 있는 현재 디렉토리로부터 변동사항이 있으면 계속 파악을 하고 있을 겁니다.

 

 

 

파일 추가
  • 원격 저장소에 올릴 파일 하나를 만들어보도록 합시다.
  • 'hello-world.txt' 텍스트 파일을 만들고 아무거나 간단한 내용을 적어보도록 합시다.

 

 

 

git status
  • ls 명령어로 확인해봅시다.

 

  • git status를 입력해봅시다.
    git status 명령어는 깃이 현재 변동된 파일들 중 어떤 파일을 추적하고 있는지 아닌지 확인할 수 있다.

  • 우리가 만든 hello-world.txt 파일이 빨간색 글자로 표시되어 있고, 현재 깃이 변동사항을 인지하였으나 추적을 아직 하고 있지 않다는 것을 알 수 있다.
  • 또한 마지막 줄을 보면 git add를 사용하면 추적할 수 있다고 나온다.

 

 

 

git add
  • 이제 우리는 hello-world.txt 파일을 staging area로 옮겨보도록 하자.
  • 그것을 하기 위해 파일을 추가하는 명령어가 git add 이다.
  • git add 파일이름

 

 


  • 파일 안에서 LF가 CRLF로 바뀔 것이라고 경고하고 있다.
    우리가 작성한 hello-world.txt 파일을 보면 여러 줄에 걸쳐서 엔터를 쳐서 작성을 하였다.
    이는 유닉스 시스템과 윈도우 시스템에서 한 줄의 끝을 표시하는 방법이 다르기 때문이다.
    유닉스 시스템은 LF를 사용하고, 윈도우는 CRLF를 사용한다.
    하지만 이는 알아서 깃이 변환을 해주므로 신경쓰지 않아도 된다.

 

 


  • git status 를 통해 상태를 확인해 봅시다.

  • 원래 빨간색 글씨로 나오던 것이 초록색으로 바뀐 것을 알 수 있습니다.
    정상적으로 staging area로 올라간 것입니다.

 

 

 

git commit
  • 이제 우리는 staging area에서 local repo로 최종적으로 저장해야 한다.
  • 이 때 사용하는 명령어가 git commit 이다.

 

 

​​

  • git commit 을 하고나면, 우리가 git을 처음 설치하였을 때 설정한 기본 에디터인 Visual Studio Code가 뜨게 된다.
  • 커밋은 메세지를 반드시 입력해야 하므로 첫번째 줄에 first commit 이라고 적은 뒤, 저장하고 에디터를 끈다.

 

 

 


  • 에디터를 끄고나서 git status 를 입력해보도록 합시다.
  • 커밋할 것이 없다고 나옵니다.

 

 

 

git log
  • 커밋 내역을 확인하기 위해 git log 를 해보도록 합니다.
  • git log

  • commit 내역이 총 2개가 나옵니다.
  • Initial commit은 우리가 처음에 README.md 파일을 만들 때 자동으로 커밋되어 생성된 것입니다.
  • 우리가 방금 전에 작성하였던 메세지인 first commit 이 있는 것을 확인할 수 있습니다.
  • commit 다음에 있는 긴 영문자와 숫자의 조합으로 되어있는 것은 커밋 id 값입니다.
    SHA-1 암호화 기법이 적용되어 총 40글자로 나타납니다.

 

 

 

git remote
  • 이제 로컬 repo에 커밋이 되어 있으니, 원격 저장소로 저장하는 일만 남았습니다.
  • 하지만 깃이 원격 저장소의 주소를 모른다면 저장할 수 없습니다.
  • 따라서 원격 저장소의 주소가 제대로 설정되어 있는지 확인하기 위해 사용하는 명령어가 git remote 입니다.
     
  • 먼저 원격 저장소를 확인하기 위해 -v 옵션을 사용하여 보겠습니다.
  • git remote -v

  • 원격 저장소로 아무것도 연결되어 있지 않다는 것을 알 수 있습니다.

 

 


  • 원격 저장소와 등록해주기 위해서 다음 명령어를 입력합니다.
  • git remote add origin 깃허브repo주소

  • 이제 연결된 것을 알 수 있습니다.
  • 여기서 origin은 원격 저장소의 별명으로 지정해준 것입니다.
    다른 이름을 써도 상관은 없지만 보통 관례로 origin을 사용합니다.

 

 

 

git push
  • 이제 정말 원격 저장소로 저장하는 일만 남았습니다.
  • 이것을 푸쉬한다고 합니다.
  • git push -u origin master
  • 여기서 master 는 브랜치(branch) 이름인데, 이 부분은 나중에 설명할 일이 있으므로, 지금은 원격 저장소의 master 브랜치에 업로드를 한다고 생각하면 됩니다.

  • 정상적으로 hello-world.txt 가 업로드 된 것을 볼 수 있습니다.

 

 

 

댓글

댓글 본문