카테고리 없음

깃(Git)&깃허브(GitHub)

🔧🔨🛠 블로그 이전 준비 중입니다 🔧🔨🛠 2022. 12. 19. 11:35

와오,,,

너무나 신기한 깃,,

 

-- 

플젝에 앞서 강사님께서 협업을 위해 깃헙 사용법을 간략히 알려주셨다. 

하단은 그 내용


 

◆깃 & 깃허브 설정


Contents

01 깃이란 무엇인가

02 깃 프로그램의 종류

03 깃 설치하기

04 깃 환경 설정

05 버전 만들기

06 깃허브란?

07 지역 저장소를 원격 저장소에 연결하기

08 VSCode에서 깃 사용하기

09 팀 프로젝트를 위한 깃허브 설정


01 깃이란 무엇인가

깃(Git)의 탄생

❖ 깃(Git)

  • 2005년 리누스 토르발스가 처음 소개
  • 특징
    • 컴퓨터 파일의 변경사항을 추적
    • 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하 기 위한 분산 버전 관리 시스템
  • 개발자들은 깃을 통해 수많은 소스 코드를 효율적으로 관리


깃의 특징

❖ 버전 관리(Version Control)

❖ 백업(Backup)

❖ 협업(Collaboration)


❖ 버전 관리(Version Control)

  • 문서를 작성한 뒤 원본도 남겨두고 수정한 내용을 저 장해야 하는 경우
  • ‘다른 이름으로 저장’을 주로 사용

☆ 깃을 사용한다면? ☆
파일 이름은 유지하면서 문서를 수정할 때마다 언제 수정했는지, 어떤 것이 변경되었는지 기록 가능

❖ 백업(Backup)

  • 백업이란?
    • 현재 내 컴퓨터에 있는 자료를 다른 곳에 복제
    • USB 디스크, 외장하드, 드롭박스(Dropbox) 등

☆ 깃허브(GitHub) ☆
깃 파일을 위한 원격 저장소 또는 온라인 저장소

❖ 협업(Collaboration)

  • 깃허브와 같은 온라인 서비스를 사용하면 여러 사람이 함께 일할 수 있음

 

 


02 깃 프로그램의 종류

깃 프로그램

❖ 깃허브 데스크톱(GitHub Desktop)

  • 깃허브에서 제공하는 프로그램
  • 그래픽 사용자 인터페이스(GUI)로 구현
  • 사용이 쉬워 누구나 배울 수 있음
  • 기본적인 기능만 제공

❖ 토터스깃(TortoiseGit)

  • 윈도우 전용 프로그램
  • 윈도우 탐색기의 빠른 메뉴에 추가되는 프로그램

❖ 소스트리(Source Tree) <- 유명. 눈으로 봤을 때 굉장히 예쁨

  • 깃의 기본 기능부터 고급 기능까지 제공
  • 사용법은 복잡하지만 익숙해지면 자유롭게 깃을 활용할 수 있음 

❖ 커맨드 라인 인터페이스(CLI) <- 첫 공부 시간 들 수 있지만 익숙해지면 이게 훨 빠르고 좋음. 이거 쓰기. 

  • 터미널 창에 직접 명령을 입력해서 깃을 사용하는 방식
  • 리눅스 명령어 및 깃 명령어를 알아야 사용 가능
  • 대부분의 개발자들은 이 방식으로 깃을 사용

❖ 더 많은 깃 프로그램


 

** 줄바꿈 표시하는 방식이 달라 오류가 날 수 있음. 

별거 아닌데 나중에 난리 날 수 있음.

최초 셋팅만 해주면 잘 될 것. 

 


05 버전 만들기

❖ 버전이란?

  • 깃에서 문서를 수정하고 저장할 때마다 생기는 것
  • 버전마다 변경 시점과 변경 내용을 확인할 수 있음
  • 이전 버전으로 되돌아갈 수 있음

❖ 스테이지와 커밋

작업트리가 우리 작업하는 곳.

깃으로 버전관리 할거야~ 하면 .git이라는 숨김폴더 만들어짐. 스테이지와 저장소가 자동으로 생성됨. 

눈에 보이는 작업트리만 건들 것임. 

왼쪽에서 오른쪽으로 점점 이동시킬 것임. 

스테이지로 이동해라 (명령어1)

버전으로만들어라 (명령어2) 

이렇게 두 개 만들면 됨. 

버전 만들 준비하는 곳 -> 스테이지. 

커밋이 버전으로 만들어라! 이런 소리임. 

 

 

❖ 작업 트리(working tree)

  • 파일 수정, 저장 등의 작업을 하는 디렉터리
  • 작업 디렉터리(working directory)라고도 함
  • 우리 눈에 보이는 디렉터리를 말함

❖ 스테이지(stage)

  • 버전으로 만들 파일이 대기하는 곳
  • 눈에 보이지 않음

❖ 저장소(repository)

  • 스테이지에서 대기하고 있던 파일들을 버전으로 만들어 저장하는 곳
  • 눈에 보이지 않음

❖ 버전 생성 과정

1)작업 트리에서 파일을 수정하고 저장

2)버전을 만들고 싶으면 스테이지에 넣음

$ git add .

3)버전을 만들기 위해 깃에게 ‘커밋(commit)’ 명령을 내림

$ git commit -m ”커밋메시지”

  • 커밋 메시지
    • 커밋할 때 해당 버전에 어떤 변경 사항이 있었는지 확 인하기 위한 메시지를 기록
    • 영어로 작성하는 것이 좋음

본인이 주석단다 생각하면 좋음. 내가 이 버전에서 뭘 했어! 이런 내용.

팀원들도 같이 볼것임. 내가 커밋한 내용 어떤 변경사항들이 있었는지 쓰는 것. 

나중 외국인과 할 수도. 한영 전환하기 귀찮기 때문 등. 그냥 남들은 다 영어로 작성한단 소리임. 

 


06 깃허브란?

방금까진 내 컴에서 했던 것이고 깃헙에 올리는 것. 

원격 저장소

❖ 지역 저장소(local repository)

  • 작업을 수행한 후 커밋을 저장한 컴퓨터

❖ 원격 저장소(remote repository)

  • 지역 저장소가 아닌 컴퓨터나 서버에 만든 저장소
  • 지역 저장소와 연결되어 있으면서 백업 및 협업을 가능 하게 함
  • 인터넷에서 원격 저장소를 제공하는 서비스를 주로 사용
    • 깃허브

 

대표적인 원격 저장소가 깃헙이다~! 

깃과 관련, 가장 유명한 원격저장소 깃헙~ 

 

특징) 무료. (유료도 있지만 무료)


깃허브란?

❖ 깃허브(GitHub)

  • 깃과 관련해서 가장 많이 사용하는 원격 저장소 제공 서비스

❖ 특징

  • 무료 및 유료 서비스
  • 다양한 오픈 소스 제공
  • 깃을 설치하지 않고도 온라인상에서 버전 관리 기능 사용 가능
  • 지역 저장소를 온라인상에 백업 가능
  • 협업 프로젝트에 사용 가능
  • 개발 이력 기록 가능

깃허브 시작하기

❖ 깃허브 가입

  • www.github.com

❖ 정보 입력

❖ 이메일 인증

❖ 팀 설정

❖ 관심사 선택

❖ 무료 및 유료 선택

❖ 초기 화면


07 지역 저장소를 원격 저장소에 연결하기

원격 저장소 생성

❖ 저장소(repository) 생성

  • 오른쪽 상단 + 버튼 클릭 → New repository 선택

❖ 원격 저장소 주소

https://github.com/아이디/저장소이름

  • 원격 저장소 주소만 있으면 어디서든 지역 저장소를 백업하거나 다른 사람과 협업이 가능함

08 VSCode에서 깃 사용하기

지역 저장소와 원격 저장소 연결

❖ 깃허브 계정 로그인하기

❖ 권한 수락

❖ 로그인 확인

❖ 파일 생성

  • 예) myProject 폴더 생성 → 깃 초기화
$ git init

이것 안해두면, 밑에서 에러나면 이것 안한것. 

이걸 해야 깃 명령어 사용 가능

그 다음 git add로 넣고, 

 

  • main.js 파일 생성 후 작업
console.log("Hello!");

❖ 작업한 파일 스테이지에 올리기

  • 특정 파일만 스테이징
$ git add 파일명
  • 모든 파일 스테이징
$ git add .

❖ 브랜치 변경하기

$ git branch -M main

❖원격 저장소 연결하기

$ git remote add origin 원격_저장소_주소

오류 나는 경우?

-> 이미 연결 되어 있기에 ㅏ른 저장소에 연결 해 줄 수 없단 오류. -> 저장소 해제하고 새 저장소 연결. 

--- 저장소 변경 시 ->

git remote rm origin 

 

 

❖ 원격 저장소에 푸시하기

$ git push -u origin main

 

 

 

 

 

---

3. 버전으로 생성하기 -> 커밋

git commit -m "first commit"

 

1. 작업(=코딩) -> 저장

2. 스테이징

3. 버전으로 생성하기 -> 커밋

$ git commit -m "first commit"

 

---

수정 후엔? 

-> 

1. 파일 수정 후 저장

2. 스테이징

$ git add .

3. 버전 생성 - 2번 생략 가능. -m 을 -am으로 바꿔주면 됨. 두개 합친단 소리. 

$ git commit -am "second commit"

4. 깃헙업로드

$ git push origin main

 

리드미 파일 꾸미는 방법 하면 나옴

 

필요한 것 다 셋팅하고 올리기.

sass 쓸거면 그것 미리 깔고. 그다음 git add . 하고 올리기. 

좀 더 규칙을 주어야 할 것. 

main 브랜치 -> 최종 파일. 

절대 main에 올리면 안됨! 

main이란 브랜치에 푸쉬 절대 하먄 안됨! 팀원들은! 

팀원들은 계정 하나 만들어 푸쉬해야 함. 

main은 출시하는 최종 프로젝트다! 알면 됨. 

작업 중인애 절대 엎으면 안되고.

큰 일 납니다. 프로젝트 다 난리가 나요. main은 난 모른다 생각하면 됨. 

팀장은 브랜치 보호설정 하기. 

팀원이 실수할 수도 있으니. 

 

64p 다 클릭하진 않아도 될 듯. 

최소 한명 이상이 승낙 해야 머지 가능. 

승인은 책임을 져야 함.

숫자 많아질 수록 힘들 것

 

팀장이 설정 해주면 됨. 

 

---

탐원이 할 것? ( & 팀원도 )

 

❖ 팀원 본인 브랜치 생성 <- 매우 중요. 나의 계정임. 자기 브랜치에서만 코딩하기. 굉장히 중요한 작업임 별 다섯개~ .

• 예) sooa 브랜치 생성

$ git branch sooa

❖ 브랜치 변경(master → sooa)

$ git switch sooa

❖ 스테이지에 올리기

$ git add .

❖ 커밋하기

$ git commit -m "sooa first commit"

❖ 깃허브 저장소에 파일 push

$ git push origin 브랜치이름

• 예) sooa 브랜치에 파일 업로드

$ git push origin sooa

❖ 깃허브 사이트 → Pull request ( 편지를 쓰는 것임. 팀원들에게. 나 이거 잘 만들었는데 괜찮은 것 같으면 올려주면 안되겠니? 하는 것. 팀원 팀장 모두 .

사이트 내 브랜치 내 걸로 변경 하고 편지 쓰면 됨. 상단은 제목 하단은 내용

하면~?
이렇게 뜸. 코드 못올림. 코드 승인해줘야 가능. 이라고 뜸.

누구나 편지 다 확인 가능.

풀리퀘스트 -> 편지 올 때 옆에 숫자 뜸. 어떤 편지 왔는지 뜸. 

회사에서 사원들은 절대로 누르면 안되는 버튼.... 

우리회사 최종 사이트에 신입사원인 내 에러덩어리 코드 업로드 되는 것... OMG,,,,,, 검증도 안하고 올려버린다면 ? 

뉴스 나오는거임.. 

최종 권한자인 팀장만 올릴 수 있음. 잘못 누르는 순간 망하는 것임.

메인이 바뀌었는지 안바뀌었는지 몰라. 작업 끝나고 파일 올려야 

코드 작성 중 main 브랜치 변경 발생시 -> 내 것 다 저장하고 스테이징 하고 main브랜치로부터 최신파일 다운로드(동기화)

이런 작업을 안하면? -> 중간 최신버전 바뀌었는데 반드시 최종버전 다운로드 받고 해야 함. 최신버전 있는지 없는진 몰라도 일단 다운 받고 시작하는 것임. 그게 풀.. 

 

돌이킬 수 없음... 

❖ [전체] 기존에 작성하던 코드 저장 및 스테이징

$ git add .

❖ [전체] 커밋하기

$ git commit -m "second commit"

 

[전체] 최신 프로젝트 pull

❖ main 브랜치로부터 최신 파일 다운로드(동기화)

$ git pull origin main

[전체] 작업 완료 파일 업로드

❖ 깃허브 저장소에 파일 push

• 예) teamMaster 브랜치에 파일 업로드

$ git push origin teamMaster

❖ Pull request 요청하기

 

 

--