git

git 사용법 (원격 저장소)

csmoon 2021. 7. 20. 15:26

Git

Git은 분산버전관리시스템(DVCS, Distributed Version Control System)이다.

소스코드의 버전 및 이력을 관리할 수 있다.

준비하기

  • 윈도우에서 git을 활용하기 위해서 git bash를 설치한다.
  • git을 활용하기 위해서 GUI 툴인 source tree, github desktop 등을 활용할 수도 있다.
  • 초기 설치를 완료한 이후에 컴퓨터에 author정보를 입력한다.

현재 성정된 계정 정보 확인

$ git config user.name
$ git config user.email

명령을 통해 계정 바꾸기

$ git config --global user.name 변경계정
$ git config --global user.email 변경이메일

원격 저장소(remote repository) 활용하기

원격 저장소 기능을 제공하는 다양한 서비스 중에 github을 기준으로 설명

0. 준비사항

    1. 로컬 git 저장소 준비
    1. Github에 repository생성
    1. Repository default branch 변경
      • 우측 상단 내 프로필 --> Settings --> Repositories에서 main을 master로 변경
      • main을 계속 사용할 수도 있다.

1. 저장소 생성

원하는 폴더에 들어가서

$ git init

기존 github, gitlab에 있는 저장소를 내 로컬로 복제를 원한다면

$ git clone github url

example
$ git clone https://github.com/m/a.git

2. add

  • working directory, 즉 작업 공간에서 변경된 사항을 이력으로 저장하기 위해서는 반드시 staging area를 거쳐야한다.

staging area에 추가하기

현재 디렉토리

현재 디렉토리에 있는 업데이트 된 파일을 전부 스테이징 영역에 추가

$ git add .

수정된 파일 전부

수정된 파일을 전부 스테이징 영역에 추가

$ git add -A

현재 add한 내역 확인

$ git status

3. commit

  • commit은 이력을 확정짓는 명령어로, 해당 시점의 스냅샷을 기록한다.
  • commit을 할 때는 반드시 메시지를 작성 해야하며, 메시지는 변경사항을 알 수 있도록 명확하게 작성한다.
  • -m은 메세지의 약자이고, ''안에 메세지 내용을 작성
$ git commit -m 'README업로드'

4. 원격 저장소 등록

$ git remote add origin github url

example
$ git remote add origin https://github.com/m/a.git

  • 원격저장소(remote)로 origin이라는 이름으로 github url을 등록(add)

등록된 원격 저장소 목록을 보기 위해서는 아래의 명령어를 활용

$ git remote -v

잘 연결되었다면 다음과 같은 연결 상태가 나온다.
origin https://github.com/m/a.git (fetch)
origin https://github.com/m/a.git (push)

5. push - 원격저장소 업로드

$ git push origin master

origin으로 설정된 원격저장소에 master 브랜치로 업로드(push)
이후 변경사항이 생길 때마다, add, -commit, push를 반복

branch main

  • 최근 github에서 메인 브랜치이름을 master가 아닌, 기본으로 main 으로 해놓았다.
  • 따라서 브랜치를 main(master)으로 바꾸고, 바꾼 브랜치로 push하면 된다.

브랜치 확인

  • 현재 설정된 브랜치 앞에 * 가 붙어 있다
$ git branch

.

main으로 브랜치 바꾸기

$ git branch -M main

main브랜치로 push

$ git push origin main

6. pull

  • 다른 사람이 원격 저장소(Remote repository)에 업데이트한 파일이 있을 때,
  • 원격저장소와 내 로컬저장소의 상태를 동일하게 만들기 위해 pull을 이용
$ git pull