깃과 깃허브의 사용법
목차(T.O.C)
1. git과 github의 차이점
1-1. git
1-2. github
2. 내 코드 관리 repository
2-1. repository
2-2. local repo 설정
3. 작업공간 config 작성
3-1. 신원설정을 위한 config 세팅
4. github에 올릴 코드 작성
4-1. 코드를 작성해서 올리기
5. 코드가 정상적으로 돌아가기 위한 명령어
5-1. add/ commit/ push
깃과 깃허브의 사용법과 개념에 대해 알아보자
git과 github의 차이점
Git
git은 local 저장소의 코드버전을 관리하는 '소스스토커' 이다
1. 프로그램을 개발 --> 소스(코드, 문서, 파일)이 지속적으로 업데이트가 된다.
2. git : 소스변화를 감지하는 시스템
코드 변경을 추적, 변경사항 갱신, 관리기능을 제공, 코드의 버전을 관리
3. git 이 관리하는 공간 : repository(레퍼지토리)
저장소는 컴퓨터 내의 local에 존재
4. git은 local 저장소의 코드버전을 관리
Github
git을 온라인으로
1. git이 관리하는 저장소를 온라인에서 사용할 수 있도록 지원하는 플랫폼
2. 코드버전관리 온라인에서 가능
3. 다른사람과 코드 공유 , 협업
나만을 위한 github
1. 프로젝트 내의 코드가 많아 여러프로젝트에서 다뤄야한다.
2. 코드관리의 필요성이 높아져서 git 을 사용
3. 여러 작업환경에서 사용하기 위해 github을 사용
내 코드 관리 ( repository)
Repository(저장소,repo)
1. repo
내 코드를 담고있는 저장소
2. 저장소의 종류
local repo : 내 컴퓨터 저장 프로젝트 , 코드
remote repo : github 서버 저장 프로젝트 , 코드
3. 작업은 local repo--> remote repo 업로드
필요시 remote repo --> local repo 로 다운로드
local repo 설정
터미널 환경을 이용
1. local repo 로 이동 cd
2. git 을 쓰겠다는 선언 : git init ( initialize 초기화)의 약자
3. 정상진행 시 local repo안에 .git 폴더가 생성
작업공간 config 설정
신원 설정을 위한 config 세팅
1. local repo와 remote repo 가 연결되려면
local 환경, 신원설정이 필요하다 -> 로그인과 비슷한 개념
2. 신원설정을 위한 config 세팅
이름과(user.name) 이메일(user.email)설정
3. user.name:원하는 대로
코드 변경자가 누구인지 표시하는데 사용/ github 프로필 이름과 대부분 비슷
4. uesr.email : github 로그인 아이디
신원확인에 이용 --> 영향력 범위를 주의
- global config : 컴퓨터의 모든 github repo 에 영향 (우선순위가 낮다)
- local config : 지금있는 위치의 repo에만 영향(우선순위가 높다) git init 가 우선되어야 한다
ex> git config (--global) user.name "garyoung"
git config (--global) user.email "dfdfd.naver.com"
Github에 올릴코드 작성
코드를 작성해서 올리기
1. vscode 로 git init 한 폴더를 열기
2. myfolder 내부 --> 새로운 파일을 하나 만들기 ex>test.py
3. 거기에 출력문 하나 쓰고 github 에 올리기
Git hub 에 올리는 방법
1. github 에 들어가서 remote repo 가운데 코드들 이 remote repo에 나의 코드들을 올리기 위한 명령어들
ex>git add test.py
git commit -m "first commit"
git branch -M main
이 뒤로는 그대로
2. 처음 터미널을 통해서 코드들을 올리면 비밀번호를 입력해야한다
github계정 내에서 생성 가능한 "토큰"이라는 인증코드 받아서 그 코드를 적기
<<코드 받는 방법>>
- github 계정 내에 본인계정에 들어가서
- settings--> 왼쪽 가장 아래쪽 developers settings
- personal access tokens-->tokens(classic)
- generate new token(classic)
- note 에 토큰이름과 만료일을 설정
- 토큰이 영향력을 발휘할 수 있는 범위(원격 repo에 코드를 올리고 다운받을 목적)-->repo를 선택
코드번호는 한번만 확인이 가능하니 적어두기!
github 창을 새로고침하면 업로드한 코드가 보인다
3. 정상진행 시 local repo안에 .git 폴더가 생성
코드가 정상적으로 올라가기 위한 명령어
add / commit / pust
1. add(상품선택)
로컬에서 변경된 부분들중 원격에 보낼 코드를 선택
2. commit(설명달기)
올릴 코드를 설명
3. push(매장 출시, 최신상품과의 동기화)
코드 업데이트 remote repo , local repo와의 동기화
ex>
git add test.py
git commit -m(message의 첫글자이다) "first commit"
git branch -M main
- git 이 관리하는 코드들은 branch 라는 개념으로 관리됨
- 그래서 항상 기본적으로 branch 가 존재 ---> 그 branch 이름을 main 으로 바꿈
- 원격에 추가할 파일들과 commit 설명들이 branch 에 업로드가 될 것
git remote(원격에) add(추가한다) orgin(원격의 주소는 이렇게 표시한다) [실제주소].git --->local과 remote의 repo를 이어줌/이제 local 에서 origin 은 github 서버의 페이지를 의미한다.
- 이걸 연결해줘야 push 했을때 소스들이 어디로 이동될 지가 결정됨
git push - u orgin main (main branch를 push 하겠다)
다음의 과정부터는 밑줄의 부분은 할 필요없음
(이후의 과정에서는 branch 의 이름을 새롭게 만들거나, remote 를 새롭게 추가할 필요가 없기 때문이다)
add/ commit / push 만 진행한다
commit message
1. 본인이 어떤것을 변화시켰는지 파악하기 위해 알아보기 쉽게 적은 것
2. 특정 조직마다 commit message 의 규칙이 존재한다.(규칙이 없다면 그냥 알아서 적기)
추천 규칙>>앞에 목적을 적고 뒤에 내용을 적기
- Add:~기능을 하는 모듈/함수/파일등을 추가함
- modify:~기능 추가 / 업데이트 등을 위해 코드를 변경
- fix: ~에러를 수정, 단순 typo/ 논리 재구조화/ 입 출력을 변경
3. 제목과 본문 중 제목만 잘적기
Git Pull
Git Pull
1. remote repo를 local repo로 가지고 와서 덮어씌우는 과정
2. 항상 새로운 환경(다른 장소, 시간)에서 작업 전, pull 받는 습관이 필요하다
3. pull 받기 전, 코드 변경 시 pull 이 안될 수도 있다.
Git hub 에 올릴 시 주의사항
1. 50mb 이상을 add/ push 하면 경고 , 100mb 이상이면 에러
2. 용량이 큰 파일(학습된 모델, 데이터, 중간결과물 은 다른경로로 제공한다)