본문 바로가기
구글 코랩&깃허브

2. (Update 5.9)Git & GitHub 관련 내용

by 곽정우 2024. 4. 24.


1. Git

버전관리 시스템의 종류

✔ 버전 관리
여러 파일을 하나의 버전으로 묵어 관리하는 것

2. 버전관리 시스템의 종류

  • 클라이언트 - 서버 모델
    • 하나의 중앙 서버로 여러 클라이언트들이 각자 필요한 것만 가져와서 작업을 하고 다시 중앙 서버로 보내서 통합하는 방식
  • 분산 모델
    • 하나의 중앙 서버가 존재하지만 여러 클라이언트들은 각자의 컴퓨터 저장소에 전체 사본을 가지고 작업하는 방식

 

3. Git의 장점

  • 동시에 작업하는 사람들과 소스코드를 주고받을 필요가 없음
  • 같은 파일을 여러명이 동시에 병렬 개발이 가능
  • 변동 과정을 체계적으로 관리할 수 있고, 언제든지 지난 시점의 버전으로 되돌릴 수 있음
  • 인터넷이 연결되지 않은 곳에서도 개발을 진행할 수 있고, 중앙 서버의 데이터가 유실되어도 다시 복구할 수 있음
Git 설치
구글에서 'git 설치' 검색
왼쪽 메뉴에서 downloads를 클릭 (https://git-scm.com/downloads)
모니터에 있는 다운로드 버튼 클릭
64비트 버전 클릭 후 다운로드 및 설치(기본 설정)

설치 확인
git - git bash

4. Git 명령어

프로젝트 디렉토리 내에 로컬 저장소를 생성

1. 프로젝트 디렉토리 내에 "로컬 저장소"를 생성
- 원하는 프로젝트 위치로 이동 후 "git init" 를 실행
    cd C:/Ryuzy/KDT3/Git/project
    git init
2. git 버전 관리할 파일을 선택(stage에 올림)
    git add index.html
3. 하나의 버전을 만들기
    git commit -m "index.html 커밋"

✔두꺼운_확인_표시: 만약 아래와 같이 에러가 발생하는 경우

Author identity unknown
*** Please tell me who you are.
Run
  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"
to set your account's default identity.
Omit --global to set the identity only in this repository.
fatal: unable to auto-detect email address (got 'Administrator@DESKTOP-HUJUVSS.(none)')
아래 명령어를 입력하여 해결함

    git config --global user.email "이메일 주소"
    git config --global user.name "이름"
✔ 확인
    git config user.email
    git config user.name
✔ 이메일 또는 이름을 잘 못 입력한 경우 등록과 동일하게 진행

    git config --global user.email "변경할 이메일 주소"
    git config --global user.name "변경할 이름"
✔ 로그 확인하기

    git log
  1. readme. md 만들기
  2. 깃허브에 업로드시 저장소
    •  마크다운으로 작성
	제목
        # 제목<h1></h1>
        ## 제목<h2></h2>
        ~
        ###### 제목<h6></h6>

    강조
        볼드체: **볼드체**
        이탤릭체: *이탤릭체* 또는 _이탤릭체_
        이탤릭체와 볼드체를 동시: &&_이탤릭체와 볼드체를 동시_**
        취소선: ~~취소선~~
        밑줄: <ul>밑줄</ul>

    목록
        순서가 있는 목록
            1. 김사과
            2. 반하나
            
        순서가 없는 목록
            -김사과
            -반하나
            또는
            * 김사과
            * 반하나

    링크
        [클릭할 문자열](URL)
        예) [구글로 이동](https://www.google.com)

    코드 작성

        ```
            프로그램 코드 작성
            ...
        ```

 

여러 파일을 함께 선택하기

state에 현재 디렉토리에 있는 변화된 모든 파일을 선택

  git add .

 

여러 파일을 함께 선택하기

git commit -m "현재 디렉토리에 있는 모든 변경된 파일을 처음 커밋"

 

5. 깃허브(GitHub)

  • git으로 버전 관리한 코드를 업로드 할 수 있는 클라우드 서비스
  • 단순히 저장만 하는 것이 아니라 다른 유저들과 함께 코들르 공유하고 온라인으로 하나의 프로젝트를 개발할 수 있게 해줌

로컬 저장소에서 github 저장소 주소를 설정

 

git remote add origin https://github.com/KJWoo99/test123.git

 

git remote add origin https://github.com/KJWoo99/test123_1.git

....

 

확인하기

git remote -v

 

삭제하기

git remote remove origin

 

KJWoo99/test123

테스트로 만드는repository. Contribute to KJWoo99/test123 development by creating an account on GitHub.

github.com

생성한 커밋(버전들)을 github로 전송

  • 원격 저장소에 업로드하여 다른 사용자와 커밋을 공유

Git Repository Clone

  • Repository를 로컬 시스템에 복제하는 방법
  • 지금까지 모든 Repository의 히스토리가 포함
git clone git 주소 (폴더를 생성)
git clone git주소. (폴더를 생성하지 않음)

git clone https://github.com/KJWoo99/test.git .

 

다른 사람과의 협업

원하는 Repository에서 Setting -> collaborators -> Add people 클릭 -> 이름 또는 이메일을 추가 -> 초대받은 계정의 메일에서 수락

 

6. Git Repository Fork

  • 하나의 repository에서 다른 계정(또는 네임스페이스)으로 복사
  • Git 명령어가 아닌 github에서 제공
  • 다른 사람의 github계정 Repository 에서 fork를 눌러 내 계정 Repository로 복사

7. pull & fetch & branch

pull

  • 원격저장소에서 fetch 명령어로 가져온 후 merge까지 한번에 실행하는 명령
git pull origin

 

fetch

  • 원격저장소에서 소스를 가져오기
  • merge를 사용하지 않음
git fetch origin

 

branch

  • 작업에 대한 가지
  • 큰 줄기(master)에 영향을 주지 않고 가지에서만 작업을 별도로 할 수 있음
  • 브랜치를 사용하여 저장소의 메인 분기에 영향을 미치지 않고 여러 기능이나 버그 수정을 동시에 수행할 수 있음
git checkout -b 브랜치명

8. Git 브랜치 관리: 생성, 전환

현재 작업중인 브랜치를 확인

- 목록을 확인

    git branch

- * 표시가 되어 있는 것이 현재 작업중인 브랜치

 

branch 생성하기

  • git branch 브랜치이름

 

branch 전환하기

  • git switch 브랜치이름
  • git checkout 브랜치이름

 

branch 생성과 동시에 전환하기

  • git checkout -b 브랜치 이름

 

 

'구글 코랩&깃허브' 카테고리의 다른 글

1. 구글 코랩(Colab) 시작기(feat.Markdown)  (0) 2024.03.11