본문 바로가기

Study/Git

[Git] 2강. Git-GitHub 사용하기 (GitHub가입 + CLI방식 기초)

2강에서는 GitHub에 가입하고 나서 Git을 사용하는 방법 중 하나인 CLI 방식을 공부

3강에서 다른 방법인 GUI 방식을 공부함

(GitHub 가입하고 3강으로 넘어가도 됨)

 

# GitHub (원격 저장소) 연결 / 코드 올리기 간단요약

(아래에서 진행할 내용 소개)

a. Git 초기화 : 지정한 내 컴퓨터 프로젝트 폴더(로컬저장소)에 'Git에 올릴 거라는 명령'을 명시해주는 것 (init)

b. 올릴 코딩 작업 -> 올리길 원하는 파일 선택(add) - > 선택 파일들을 묶어 설명 기재(commit)

c. GitHub에 프로젝트 저장소(원격저장소) 만듦

d. (a)에서 지정한 폴더에 GitHub 주소 "지정" (remote add)

e. (b)에서 작업한 내용 GitHub(원격저장소)에 올림 (push)

 

 

3. GitHub 가입

(1) GitHub 회원 가입 ( https://github.com/ )

- 사용자아이디/이메일/비밀번호 치고 <Sign up for GitHub> 클릭(가입)

--> 기존엔 Free 유저는 비공개 불가였으나 MS가 인수 후, 작업자 3인 이하인 경우, Free 유저도 비공개 가능

--> public에 한해선 팀작업 인원수에 제한 없음

(2) 사람인증 -> 이메일로 GibHub 가입 인증 -> 회원가입 완료

     (아래 형식의 < New Repository > 이 이메일인증 후 바로 화면이 뜨기도 하는데 잠시 대기)

 

 

 

CLI 방식

4. Git 초기화 : [ git init ] - CLI 방식

1) 내 컴퓨터 내에 프로젝트 폴더 생성 (찾기 쉽게 c드라이브에 파일 생성)

- (내맘대로 이름은,) ManageGit 폴더 내에 KittyGit 폴더 생성

- Git 초기화 시, .git 이라는 숨겨진 폴더가 만들어지는데 이를 보기 쉽게 숨김폴더/파일도 볼 수 있게 설정

- 위 폴더에는 이 로컬 저장소에 내가 만든 버전 정보, 원격 저장소 주소 등이 저장됨

- 원격 저장소에서 내 컴퓨터로 코드를 받아올 시, 로컬 저장소에 저장되므로 한 폴더에 하나의 로컬 저장소만 유지할 수 있도록 해야함 (중요!)

 

2) Git Bash 실행

3) Git Bash에 명령어 입력

  a. 맨 오른쪽 '~' 표시는 최상위폴더를 의미

  b. 명령어 pwd : 현재 폴더 위치 주소 알려줌

  c. 명령어 cd : 폴더 위치 이동 -> c드라이브에 파일을 만들어서 이동

  d. 명령어 ls : 현재 폴더의 리스트 내역 (단, 숨김은 보여주지 않음)

  e. 명령어 cd를 이용하여 내가 만든 폴더로 이동 (tip. 폴더 앞 일부 이름을 작성한 후 tap 키를 누르면 자동완성 됨)

  f. 명령어 git init : Git 초기화

   --> 폴더 내에 .git 폴더가 생성됨 (숨김)

  g. 명령어 ls -al : 현재 폴더의 리스트 내역 (+ 숨김폴더/파일도 보여줌)

 

5. 코딩 작업 -> 올릴 파일 선택(add) -> 선택 파일들을 묶고 설명 기재(Commit)

1) 커밋(Commit)과 애드(Add) :

- 사용자가 올릴 작성한 코딩파일들을 묶은 것을 하나의 버전이라 하며, 수정시에 새로이 묶은 것 또한 또다른 버전이라 말할 수 있다. 이러한 하나의 버전을 커밋(Commit)이라 할 수 있다.

- 커밋으로 만들길 원하는 파일만 선택하는 것을 애드(Add)라고 한다.

 

2) 로컬저장소가 될 KittyGit 폴더에 코딩 파일 생성

- VS Code 에서 "README.md", "index.html" 파일 생성

 

3) README.me 파일을 선택하여, 메세지를 달아 커밋으로 만들기

  a. 명령어 git add 파일명 

  b. 명령어 git commit -m "메세지"

  c. 명령어 git log : 커밋이 만들어졌는지 확인

4) 여러 개의 파일을 선택하여 커밋하기

- app.js 파일도 만들기(내용은 없어도 무상관)

  a. 명령어 git add .   : 위에서 커밋된 파일 외의 모든 파일을 선택

  b. git commit -m "설명" : 두 파일이 선택되는 것을 확인할 수 있음

  c. git log : 두 설명이 모두 commit 되어있는 것 확인 가능

 

* 커밋 중요성
- 커밋은 '의미있는 변동사항'을 묶어서 만든다
- 변동사항의 '설명'을 제대로 붙임으로서 다른 개발자나 혹은 이후 이 커밋을 다시 열어본 미래의 '나'가 이 커밋에 대한 존재이유/의미를 알수 있다
- 커밋은 아래서부터 탑처럼 쌓이며, 이 커밋 리스트를 보는 것으로 자신의 코딩 상황/내용을 알아보기에 이로움

 

 

6. GitHub에 프로젝트 저장소(원격저장소) 만듦

- 3번에서 나온 < Create Repository > 에서 진행하거나 홈페이지에 재접속했을 경우,

  로그인 후 아래의 경로로 < New Repository > 폼에 접속

1) Create a new Repository 폼 설명

* Owner : 사용자의 아이디 / 협업 환경에서는 다른 사용자의 아이디를 지정할 수 있음

* Repository name : 새로 생성할 원격 저장소의 이름 입력 / 가능한 로컬 환경에서 작업할 Git 프로젝트 디렉터리 이름과 같에 하는 것이 좋다.

* Description : 꼭 작성할 필요는 없는 항목 / 생성한 원격 저장소가 어떤 역할을 하는 지를 간단하게 적어두어 저장소가 많을 때 손쉽게 구별하기 좋음

* Public/Private : 원격 저장소의 공개 여부 선택

* Initialize this repository with a README : 기본적으로 체크 표시 / 체크시 GitHub에서 생성한 원격 저장소를 바로 로컬 저장소에서 복사해서 가져올 수 있음. 또 '저장소 이름'과 'Description' 항목의 내용을 담은 README.md 파일을 생성

* Add Gitgnore : 원격 저장소에 포함하지 않을 파일들의 목록을 만들 때 사용 (지금 당장 사용하지 않을 것이므로 'none' 표시)

* Add a license : 원격 저장소에 저장할 프로젝트가 어떤 라이선스에 속할지를 선택 (지금 당장 사용하지 않을 것이므로 'none' 표시)

 

 

2) new Repository 만들기

경우1. README.md 생성을 클릭하여 생성한 경우

: 바로 repository 정보창으로 넘어가며 '원격 저장소 이름' 과 입력한 'Description' 내용이 담긴 파일이 자동 생성됨

 

경우2. README.md 생성을 클릭하지 않고 생성한 경우

 

7. 로컬저장소 폴더에 GitHub의 저장소 주소 알려주고 올리기

 : [ git remote add ], [ git push ] - CLI 방식

- 경우2번을 통해 만들어진 내용을 보면, 노란 네모칸의 내용은 init .. add.. commit.. 과정들로 이미 실행한 내용임

- 그 이후의 주황 네모칸의 내용이 마저 실행해야 하는 내용임

--> 즉, 이 순서대로 repository를 지정해야 한다는걸 알 수 있음

 

1) 명령어 git remote add origin https://github.com/allure1212/kitty02.git 

remote add : 프로젝트 폴더에 GitHub저장소 주소를 알려준다

origin : 원격저장소에 지어준 이름으로, 그외에도 upstream, develop 등으로 지어줌

2) 명령어 git push origin master

push : 원격저장소에 커밋을 넣어주는 명령어

origin : 원격저장소명

master : 브런치branch명

(만약 로그인하라고 나올 시, GitHub에 로그인해주기)

push 결과.

+ GitHub 새로고침하면, 2개의 commit이 1branch로 올라간 걸 확인할 수 있음

 

8. 다른 사람이 만든 저장소 받아오기 : [ git pull ] - CLI 방식

1) 정의

# 클론(Clone) : 원격 저장소를 내 컴퓨터에 받아온 것

# 풀(pull) : 원격 저장소의 데이터 가져오기 명령어

 

2) 원격저장소를 받아올 폴더 (KittyGit-oct) 폴더 생성

3) GitHub에서 kitty02 저장소 받아오기

(1) 저장소의 [ clone or download ] 버튼선택

(2) 버튼 클릭 시 주소+두가지 선택창 뜸

- Download ZIP 의 경우, 파일은 다운로드 되지만 로컬저장소가 생기지 않음

- 클론을 하면 .git 폴더 자동생성되며 원격저장소 주소도 저장되므로 클론을 만들기로 함

--> 우선, 필요한 주소 복사

(3) 현재 위치 확인 후, cd 명령어를 통해 새로 만든 KittyGit_oct 폴더로 이동

   a. pwd : 현재위치 확인

   b. cd : 이동 ( .. : 상위폴더로)

   c. ls : 현재 폴더 내 파일 확인

   d. cd KittyGit_oct : 작성한 파일로 이동

(4) * 클론Clone 생성

  경우1 : git clone http://github.com/아이디/이름.git

-> 결과 : KittyGit_oct 폴더 자체가 로컬저장소가 되는 것이 아닌, 하위폴더로 로컬저장소가 생성됨

  경우2 : git clone http://github.ocm/아이디/이름.git .      (<- 뒤에 점하나 찍은 것!)

--> 결과 : KittyGit_oct 폴더 자체가 로컬저장소가 됨

--> git log : log 확인하여 원격저장소의 내용을 제대로 불러왔음을 확인 가능

 

4) 내용을 수정하여 원격저장소에 다시 올리기

(1) 내용수정 - Visual Studio로 새로운 로컬저장소 [KittyGit_oct] 폴더를 열고 READ.me 파일내용 수정

(2) 위에서 수정한 내용 올리기  : add -> commit -> push

   a. git add : 수정파일 골라서 묶기 ( . : 모든 파일 의미)

   b. git commit -m "설명" : 설명을 붙여서 commit 하기

   c. git push origin master : orgin 원격저장소에 master 이름/권한으로 파일 올리기

(3) GitHub 사이트에서 commit 내용이 반영된 것을 확인

## 동일사용자였을 경우, commit 이 바로 반영되는 것을 확인할 수 있음

## 단, 다른 사용자라면 권한을 가져야 commit이 가능하며 이 권한은 주인이 부여해주어야함

    Settings - Manage access(비밀번호 입력) - Invite a collaborator 에서 아이디(계정) 입력하여 초대 (초대받은 사람이 승낙시 프로젝트 참여)

 

 

5) 수정하여 올린 파일을 원래의 로컬저장소(KittyGit)에 반영하기

(1) Visual Studio에서 KittyGit 폴더를 열어 수정되지 않음을 확인

(2) 원래 KittyGit폴더로 이동

(3) git pull origin master : origin 원격저장소에서 가져옴

(4) Visual Studio 에서 수정된 내용 확인 가능

 

 

 

 

(2강 완료)