본문 바로가기
IT 정보

[입문] Git / Github 활용하기의 모든것 ! ( 설치, 설정 및 세팅,ssh key 등록 -윈도우 오류) 기본동작원리, 기본 용어

by 저여저 2024. 1. 10.

개발자가 사용하는 필수 도구인 Git에 대해 알아보자 ! 

Git 이란 무엇인가 ? Github 활용하기의 모든것 !

ㅡ설치, 설정 및 세팅,ssh key 등록 -윈도우 버전, 오류시 작동법, 기본동작원리, 기본 용어 

에 대해 차근 차근 알아보자 !!


* Git (Configuration Management Tool)

ㅡ형상관리도구 , 버전관리 시스템 중 하나 이다.

ㅡ 소스코드를 효과적으로 관리할 수 있는 시스템이다.

( 여러명 동시 작업, 다른 기능의 버전 코드 유지와 관리,  해당 시점으로 돌릴 수 있음, 변경된 이력 확인)

ㅡ git 공식 사이트의 Documentation > Reference 활용하기

 

* Git 기반의 서비스 ㅡ Github , Bitbucket, Gitlab

 Bitbucket : 커뮤니케이션 위주 ,QA작업 , Atlassian 제품

Gitlab : 설치형 git , 보안 좋음 , 설치해서 내부에서 관리가능 , 용량비용절감 

 Github : 가장 대중화 되어 있음. 저장소 호스팅 서비스 제공, 

그렇다면 Github 사용을 위해서 Git설치를 먼저 해보자 !


* Git 설치 - 윈도우 버전

1. git scm 을 크롬에서 검색 , 설치

https://git-scm.com/download/win

 

2. git bash 로 설치 확인하기

Git Bash 열어서 명령어를 차례차례 입력하기. 설치 확인함

$ git --version

$ git

 

 


다음으로  Github

1. 가입하기

https://github.com/

2. SourceTree설치 : Git을 더 쉽게 활용하게 하기 위한 GUI 툴 이다. (터미널 말고, 툴을 제공함)

https://www.sourcetreeapp.com/

 

Sourcetree | Free Git GUI for Mac and Windows

A Git GUI that offers a visual representation of your repositories. Sourcetree is a free Git client for Windows and Mac.

www.sourcetreeapp.com

 

3. Git 사용자 설정

ㅡ로컬에서 사용할 Git사용자 이메일과 이름을 설정

git config : Git 에 관한 설정을 추가 / 변경/ 삭제하는 명령어

ㅡgit 의 파일 설정은 3가지 이다.

설정파일 System 설정 파일(모든 시스템 사용자에게 적용) : git config --system

Global 설정파일 (한 사용자의 전치 git repository에 적용) : git config --global

로컬 설정 파일 ( 하나의 repository에만 적용) : git config --local

1) Global git 사용자 설정하기

git config --global user.email"abc@abc.com"

git config --global user.name "Jung joo-jung"

git config --global user.email"3ii32@naver.com"

설정확인

git config --list

 

2) Github 계정에 ssh key 등록하기 ( 사용자인증 )

1. ssh key만들기 

https://git-scm.com/book/ko/v2/Git-%EC%84%9C%EB%B2%84-SSH-%EA%B3%B5%EA%B0%9C%ED%82%A4-%EB%A7%8C%EB%93%A4%EA%B8%B0

 

Git - SSH 공개키 만들기

많은 Git 서버들은 SSH 공개키로 인증한다. 공개키를 사용하려면 일단 공개키를 만들어야 한다. 공개키를 만드는 방법은 모든 운영체제가 비슷하다. 먼저 키가 있는지부터 확인하자. 사용자의 SSH

git-scm.com

 

윈도우는 cmd대신  PowerShell 의 관리자권한으로 실행후 입력해준다 ! - 윈도우는 그래야 오류가 잘 없음 ㅠㅠ

ssh-keygen

1) ssh-keygen 입력 후 엔터

2) Enter file in which to save the key -> 공개키 생성 위치 이다,  엔터 !

3) Enter passphrase -> 패스워드입력 - 엔터

4) Enter same passphrase again -> 패스워드 재입력 - 엔터

 

 

5) C:\Users\<pc계정명>\.ssh 폴더 안에 >  공개키(id_rsa.pub)가 생성된 것을 확인할 수 있다.

</pc계정명>id_rsa.pub 파일을 메모장으로 열면 암호화타입, 암호화된 키를 확인할 수 있다. >> 복사하기

만약 열리지 않을때 는 !!

아래의 명령어 입력해서 , 암호 확인 후 복사 !!

cat ~/.ssh/id_rsa.pub

아래에 나오는 암호를 복사해서 Github에 SSH 암호로 등록해준다 !!!


 

2. Github접속 후 프로필 setting -> SSH and GPG keys  -> New SSH key  등록하기 

위의 내용처럼 복사한 암호를 Github에 SSH 암호로 붙여넣기 후 등록해준다 !!!

 

>> 완료하면 ssh key 가 내 아이디로 생성된것이 나옴 ! 


 

< 깃 초기화 및 삭제 >

초기화 명령어 : git init

초기화 할 대상 폴더에서 명령어 입력 ( 폴더 안에 숨김 폴더로 .git폴더 생성 )

 

삭제 명령어 :  rm -rf.git 

git 소스 삭제 

 

cd . git 읽기 

 

< gitignore 란 ? > 

ㅡ 사용자가 git에 등록되지 않길 원하는 파일, 폴더들의 목록을 저장

.gitignore 파일명으로 생성 후 주석, 폴더,파일을 ignore법으로 작성 해 주기.

( 등록된 파일(폴더)들은 커밋 시 자동으로 제외됨.)

ㅡ 작성법 

- #은 주석의 역할

- 폴더 :  /폴더명 ( 예 : /docs)   /  파일:  파일명.확장자 (예: test.txt)

- 폴더 안의 특정 파일만 ( 예: docs/test1.txt)

- 폴더 안 특정 확장자 파일 전부 (예: /docs/*.txt)

- 폴더 하위 모든 특정 확장자 파일 전부 (예 : /docs/**/*.txt)

- 하위 폴더가 있으면 제외됨. 하위폴더 ignore설정 (예: docs/**/*.txt) 

ㅡ 유용한 사이트 https://www.toptal.com/developers/gitignore


Git 기본컨셉

< 기본 동작 원리  4가지>  

Working Directory : 소스코드 작성하고 있는 파일, 폴더

Staging Area : Git에 커밋(등록)할 파일이 미리 올라가는 영역

Local Respository : 로컬 Git프로젝트 저장소 , pc안에 저장됨 ,메타데이터와 데이터 정보가 저장되는 영역

Remote Repository : Github 등의 서비스를 통한 온라인 상의 저장소

 

< 기본 용어>

orgin : 원격(Github등 의 온라인 저장소)에 있는 코드

head : 내가 지금 ! 작업하고 있는 로컬 브랜치

add : Working Directory에서 Staging Area로 등록한다

commit : Staging Area 에서 Local Repository로 등록

Commit Message : commit시 함께 작성해 저장하는 메모 

push : Local storage 에서 변경된 파일들을 Remote Respository에 업로드하는 작업

fetth: Reomote 원격저장소에서 변경된 파일들을 - Local Repository 에 끄집어 내서 가져오는 행위

merge : Local repository 에서 Working Directory 로 병합( 전달)

Branch : 독립적으로 어떤 작업을 따로 진행하기 위한 가지 , 가지치기

checkout : 사용할 다른 브랜치를 지정 ( 다른 시점, 브랜치로 지정 하는 것 , 버전을 바꾸는것 ?)