GIT Session

백은진·2020년 9월 23일
0

TIL (Today I Learned)

목록 보기
77/106

Intro

Git Session이 진행됐다.

Git과 Github에 대한 핵심적인 내용을 간략하게 설명하고,
내 local computer에서 깃을 통해 저장한 자료를
Terminal을 통해 Github에 올리는 작업을 간단하게 실습했다.


Git

깃은 버전관리 시스템이다.
로컬 컴퓨터에 깃 프로그램이 설치되어 있으면 인터넷 없이도 사용할 수 있는 기능이다.

버전관리 시스템을 이용하는 이유는 여러가지가 있지만,
그 중 다음 4개가 핵심적이다.

  1. 어떤 파일을 수정할 때마다 새로운 파일을 만드는 것은 관리가 어렵다.
  2. 언제든 이전 버전의 코드로 돌아갈 수 있어야 한다.
  3. 누가, 언제, 무엇을 수정했는지 이력을 남겨야 한다.
  4. 하나의 프로젝트를 두고 개발자들끼리 협업이 필요하다.
git 명령어 중 git blame과 git diff가 있다. 
git blame 명령을 통해 파일 수정 히스토리를 확인하고, 
git diff 명령을 통해 변경사항을 확인한다. 

GitHub

깃허브는:

  1. git을 사용한 프로젝트들의 저장소이다.
    이 저장소의 내용을 전세계 사람들이 공유하기 때문에 인터넷이 필요하다.
    저장소 공유를 기반으로 해서 협업을 원할하게 할 수 있다.

  2. 개발자들의 social network이다.
    개발자는 다른 산업군과 다르게 자기가 만든 코드는 자랑하고 공유하면서 pool을 키워가는 문화가 있다.
    따라서 그런 자랑과 공유를 할 공간이 필요한데, 깃허브가 현재 그런 역할을 하고 있다.

    커뮤니티에서 오픈소스를 공유하면서 만들어진 DB가 MySQL이다.

즉, Git은 프로젝트의 버전 관리를 도와주는 '시스템'이고,
GitHub는 그 버전 관리를 저장하는 '저장소'이다.


Uses Git & GitHub in Terminal

(git이 설치되어 있는 터미널을 기준으로 작성한 글이다.)

Terminal 작업

  1. 원하는 곳으로 이동한다.
    cd desktop

  2. 깃허브에 공유하고 싶은 폴더을 생성한다.
    mkdir wecode
    (wecode는 폴더이름이다. 아무거나 작성하면 됌)

  3. 그 폴더로 이동한다.
    cd .wecode

(생략가능) 4. 현재 폴더 위치를 확인하고 pwd, 파일이 있는지 확인한다 ls.

  1. 새로운 깃 리파지토리를 생성한다.
    git init
    그러면 다음과 같은 문구가 뜬다. /Users/eunjinbaek/Desktop/wecode/.git/ 안의 기존 깃 저장소를 다시 초기화했습니다

  2. vim을 통해 파일을 생성한다.
    vim jinniebaek.md
    (어떤 파일이던 생성 및 코드작성 가능.)
    (md는 마크다운 확장자로, 일반 마크업 언어에 비해 문법이 쉽고 간단해서 README 파일 및 온라인 게시물 등에 많이 사용된다.)

6.1. i 를 입력하면 맨 아래 ---insert---가 뜨면서 코드를 입력할 수 있다.
코드를 모두 작성했으면, esc키를 누르고 :wq를 입력한다.

  1. git 파일 등이 생성되었는 지 확인한다.
    ls -al
    (-al을 붙이면 숨겨진 파일도 모두 확인된다.)

  2. git의 현재 상태를 확인한다.
    git status
    아래 현재 브랜치와 (대게 master) 빨간색 파일들이 확인된다. 아직 커밋이 되지 않은 상태인 것이다.

  3. 내 파일들을 git에 추가한다.
    git add . <- 모든 파일 추가하기
    git add 파일이름 <- 특정 파일 추가하기

  4. git 파일을 commit하면서, 메세지를 추가한다.
    (여기까지는 local computer에서 진행되는 내용이다. 즉, 인터넷 불필요)
    git commit -m "간단한 소개글"

GitHub 작업

  1. 깃허브에서 새로운 리파지토리를 생성한다.

  2. 다음과 같은 페이지가 나타난다.

1 번은 내 컴퓨터에서 아직 특정 파일을 만들어놓지 않았을 경우,

2 번은 내 컴퓨터에서 특정 파일을 만들어 놓았을 경우,

3 번은 다른 리파지토리에서 코드를 import 할 경우.

나는 이미 wecode라는 파일을 만들고, 깃도 연결을 해두었기 때문에 2 번을 진행했다.

Git & GitHub 연결 작업

  1. 내 컴퓨터의 깃과 깃허브의 깃을 연결한다.
    git remote add origin https://github.com/JeanBaek/git-session-test.git
    (이 명령어는 "remote 주소의 이름을 origin으로 붙이겠다”는 뜻이다.)

1.1. (생략했음) 테스트용이라 어차피 master 브랜치밖에 없어서 두 번째 줄은 진행하지 않았다.

  1. remote 주소 이름에 origin이 잘 붙었는 지 확인
    git remote -v
    그러면 아래와 같은 문구가 확인된다.
origin	https://github.com/JeanBaek/git-session-test.git (fetch)
origin	https://github.com/JeanBaek/git-session-test.git (push)
  1. 깃을 깃허브의 master 브랜치에 전송한다.
    git push -u origin master
    (두 번째 이후부터는 -u 생략해도 됌.)

다음 문구가 확인된다.

오브젝트 나열하는 중: 3, 완료.
오브젝트 개수 세는 중: 100% (3/3), 완료.
오브젝트 쓰는 중: 100% (3/3), 239 bytes | 239.00 KiB/s, 완료.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To https://github.com/JeanBaek/git-session-test.git
 * [new branch]      master -> master
'master' 브랜치가 리모트의 'master' 브랜치를 ('origin'에서) 따라가도록 설정되었습니다.
  1. 마지막으로 깃 상태를 확인한다.
    git status
    다음 문구가 확인된다.
현재 브랜치 master
브랜치가 'origin/master'에 맞게 업데이트된 상태입니다.

커밋할 사항 없음, 작업 폴더 깨끗함

혼자 할 때는 너무 복잡하고 머리가 아팠던 일들이, 세션을 들으면서 여러 멘토님들, 동기님들과 함께하니까 생각보다 쉽게 진행되었다.

이제 깃허브 데스크탑 프로그램이나, 깃허브 홈페이지에서 버튼으로 commit하지 않고,
개발자답게 터미널로 commit 해야겠다. 😁

profile
💡 Software Engineer - F.E

0개의 댓글