Git & GitHub 란?

박요진·2023년 8월 30일
0
post-thumbnail

1. Git

Git => 프로젝트의 버전 관리를 도와주는 시스템
Github => git을 이용해 버전 관리를 한 프로젝트들을 관리하게 해주는 호스팅 서비스

1-1. Version

  • 어떤 프로그램을 수정, 개선하여 완성한 것. 이전과 약간씩 다른 변화들을 구분하여 표시

왜 코드도 버전 관리를 해야할까?

1. 수정할 때마다 파일을 새로 만들면 관리가 힘들기 때문에
2. 언제든 이전 버전의 코드로 돌아갈 수 있기 때문에
3. 어떤 개발자가 코드를 작성했는지 확인할 수 있기 때문에
4. 하나의 프로젝트를 두고 여러명의 개발자들이 협업할 수 있기 때문에 **

2. Github

  • Git을 사용한 프로젝트들의 저장소

  • 개발자들의 Social Network

2-1. Git 의 기본적인 명령어

2-1-1. Git init

  • git 저장소 생성 / 버전 관리를 위한 정보 생성

2-1-2. Git status

  • git 상태 확인
  • 디렉토리에서 일어나고 있는 상태를 확인할 수 있는 명령어
    - 명령어 : git status

2-1-3. Git add

  • 파일 수정 이력 기록 준비
  • 수정한 파일의 이력을 남길 준비를 하는 명령어
    - 특정 파일만 이력을 남기고 싶을 때 : git add [파일이름]
    - 변경된 파일 전체의 이력을 남기고 싶을 때 : git add .

2-1-4. Git commit

  • 파일 수정 이력 기록
  • 수정한 파일의 이력을 남기는 명령어
    - 한 줄로 커밋 메세지를 남기고 싶을 때 : git commit -m "메세지"
    - 여러 줄의 커밋 메세지를 남기고 싶을 때 : git commit

2-1-5. Git log

  • commit 이력 확인
  • 남겨진 이력들을 확인할 때 사용하는 명령어
    - 명령어 : git log

2-1-6. Git push

  • 작성한 코드를 원격 저장소에 업로드
  • 이력을 남긴 코드들을 github에 올리고 싶을 때 사용하는 명령어
    - 명령어 : git push origin [브랜치이름]

순서

  • Git init -> Git add -> Git commit -> Git push

3. 터미널을 이용해 폴더 및 파일 만들어보기

  • Git에 대한 기본 개념을 배워보았습니다. 이제 직접 Github에 저장을 해봅시다.

Github에 관련된 내용을 들어가기 전 터미널을 활용해 폴더와 파일을 만들고 수정해봅시다.

3-1. 바탕화면에 폴더 생성

  • 바탕화면에 폴더를 하나 생성을 해봅니다.
  1. 터미널을 이용해 Desktop 으로 이동합니다. ( cd desktop )
  2. 명령어를 이용하여 Desktop에 폴더를 하나 생성해줍니다. ( mkdir 폴더명 )

    만약 Window 환경에서 터미널로 진행할 때에는 Git을 먼저 다운로드 받은 뒤, 바탕화면 빈 곳에 마우스 우클릭을 하면 Git Bash Here 라는 선택지가 생길텐데, 이 환경에서 Terminal을 이용한 순서를 진행해주시면 됩니다.

3-2. 폴더에 파일 추가

  • 폴더를 만들었으니, 이제 GitHub에 저장할 파일을 하나 만들어봅시다.
  • 저는 간단한 테스트를 위해 test.md 파일을 하나 만들겠습니다.
  • touch 는 파일을 생성해주는 명령어 입니다.
  • 저는 터미널을 이용하여 test.md 라는 파일을 만들 것이기 때문에 touch test.md 명령어를 사용하였습니다.

3-3. 폴더 안에 있는 파일 수정하기

  • 이제 터미널을 이용하여 3-2에서 만들었던 파일을 수정해보겠습니다.
  • vi 는 유닉스에서 기본적으로 제공되는 대표적인 화면 편집기인데, 터미널에서도 vi 파일이름.확장자 를 써주면 해당 파일을 수정할 수 있습니다.
  • INSERT 키를 누르면 내용을 입력할 수 있는 모드가 활성화되며, ESC를 누르면 INSERT 모드가 풀리면서 다시 내용 입력이 불가능한 상태로 바뀝니다.
  • 이후 INSERT 가 사라진 게 확인되면 저장 후 나가기를 위해:wq를 입력해줍니다.

4. Github에 코드 올리기

  • 이제 Github에 올릴 파일이 준비되었으니 본격적으로 Github에 저장해보도록 하겠습니다.

  • 미리 Git을 다운로드 받고, Github의 로그인이 완료되었다는 전제 입니다.

    4-1. Github Repositories 만들기

  • Githun 홈페이지에서 로그인까지 완료되면 위 화면과 같이 프로필을 클릭하고 Your repositories 를 클릭하여 해당 화면으로 들어갑니다.

  • 이후 Repsitories로 이동되었으면, 버튼으로 New 라고 적힌 초록색 버튼을 클릭해 줍니다.

  • 이제 다른 건 건드리지 말고, Repository name 을 입력해줍니다.
    내 저장소가 될 공간을 Reopsitory 에 만들어주기 위해 Create a new repository 안으로 들어온 거고, 이제 이 안에서 Repository name 을 작성한 뒤 다른 건 건들지 않고 Create repository 를 눌러줍니다.

  • 이제 Github에 내 코드를 저장할 공간을 만들었습니다. 이제 내가 만든 내 Repository 의 url을 가지고서 아까 만들었던 파일을 저장해봅시다.

4-2. Github에 저장까지

지금부터 하는 것은 vs Code 에서 하셔도 무방합니다.

  1. 우선 내가 repository에 저장할 폴더를 미리 한번 초기화 해주기 위해서 git init 을 적어줍니다.

  2. 이제 내가 Github에 저장할 git add 파일이름 으로 파일을 수정할 이력을 기록을 준비합니다.
    수정한 파일 전체의 이력을 남길 때는 git add . 을 입력해줍니다.

  3. 이제 파일을 수정한 이력을 남기기 위해서 commit 을 진행할 겁니다. commit을 할 때는 내가 이 파일의 어떤 부분을 수정했는지에 대한 이력을 남길 수 있습니다.

  • git commit -m " " : 한 줄로 커밋 메세지를 남길 때

  • git commit " " : 여러 줄의 커밋 메세지를 남길 때

  1. 이제 파일을 Github에 저장할 기본적인 준비가 끝났습니다.
    하지만 아직 내 파일이 들어있는 폴더와 내가 아까 전 생성한 repository를 연결하지 않았기 때문에, 먼저 remote 명령어를 이용해서 내 폴더와 repositoty를 연결해줍니다.
  • git remote add origin '내가 아까 생성했던 repository URL'

    ex) [ git remote add origin https://github.com/syon013/test.git ]

  1. 이제 내 폴더와 repository의 연결이 끝났으니 마지막으로 push를 해줍니다.

이제 Github를 다시 확인해보면 정상적으로 저장된 것을 확인하실 수 있습니다.

Git Command

git init                   // git 저장소 생성
git status                 // git 상태 확인
git add                    // 파일 수정 이력 기록 준비
git add.                   // 파일 전체 이력을 남길 때
git add [파일이름]           // 특정 파일만 이력을 남길 때
git commit                 // 파일 수정 이력 기록(여러 줄)
git commit -m '메세지'       // 한 줄로 커밋 메세지를 남길 때
git log                    // commit 이력 확인
git push                   // 작성한 코드를 원격 저장소(remote)에 업로드
git push origin [브랜치이름]  // origin = 원격 저장소
git branch [브랜치이름]       // 브랜치 생성
git checkout [브랜치이름]     // 브랜치 변경
git pull origin [브랜치이름]  // 브랜치의 내용을 받아올 때
git branch                 // 브랜치 목록 확인

// 메세지는 무엇을 개발했는지를 주로 적는다. (예: 기능A 개발)
// 부연 설명을 하고 싶을 때에는 멀티 라인으로 적는다.
profile
프론트엔드 개발자 지망생입니다.

0개의 댓글

관련 채용 정보