[3주차 Day1] git & github 활용

이석영·2020년 12월 14일
0

Programmers

목록 보기
18/47
post-thumbnail

git은 소스코드의 분산와 병합 그리고 버전관리를 편하게 하기위한 도구이며 Github는 소스를 저장하고 관리해주는 원격저장소의 관리 사이트이다.
특히 프로젝트와 같이 협업이 필요한 일을 할 때 아주 유용하게 쓰이며 나 역시 앞으로 자주 사용할 것이기에 간단하게 정리해보겠다.

  1. Git & Github 개념
  • 사용자가 작업하는 공간(로컬저장소)을 workspace라고 하면 작업한 소스를 github의 원격저장소(repository)에 저장하기위해서는 몇단계 절차가있다.
    1) 로컬저장소 생성 : 두가지 방법이 있는데 로컬에 있는 폴더를 하나 정해 생성하는 방법과 기존에있는 다른 저장소를 clone해 와서 사용하는 방법이있다.
    2) 원격저장소에 저장 : 저장하고자하는 파일을 추적, staged상태로 만듬(add) -> 로컬저장소에 반영(commit) -> 원격저장소에 밀어넣어 저장(push)
  1. 명령어

1) 로컬저장소 생성 및 원격저장소에 푸시하기

git init : 로컬저장소 생성, 작업하고자하는 폴더에서 생성해야한다.
git clone <복제하고자하는 저장소 주소>
vim <생성/수정 하고자하는 파일명> : 파일을 생성, 수정할 수 있다
git add 파일이름 : 파일 트랙킹
git status : 파일의 상태확인, 어느 파일을 트랙킹하는지 확인
git commit -m “설명” : 로컬저장소에 반영하며 설명부분에는 수정내역에대한 간단한 설명을 기입하면 좋다.
git log : commit 을 확인, 히스토리 확인
git push origin master : 원격저장소로 commit된 파일을 푸시한다.

참고로 vim 편집할 때 유용한 몇가지 단축키들있는데 우선 아래 3가지만 기억하고 그 외 필요한 것들은 그때그때 검색해서쓰면 될 듯싶다.

i : 현재 커서위치에서 입력하기
:wq : 저장하고 나오기
:q! : 저장하지않고 나오기

2) Branch 만들기

  • brance는 코드를 분산하여 작업하고 다시 병합하기위한 목적으로 master로부터 분기하는 개념이다.

    git branch <branch 이름> : branch 생성
    git branch -v : branch 확인, 생성하지않아도 master를 확인할 수 있다.
    git checkout <branch 이름> : 해당 branch로 전환한다.
    cat <파일명> : 파일의 내용을 확인
    git merge <branch 이름> : branch와 마스터 합치기
    git branch -d <branch 이름> : branch 삭제

3) 원격저장소(repository)

git remote add origin <원격저장소 주소> : 사용자의 로컬저장소에서 해당주소의 원격저장소를 지정한다. 그래야 push를 했을 때 해당 원격저장소로 저장이된다.
git remote -v : 원격저장소 확인
git branch -M main : master라는 branch 이름을 main으로 바꿔준다.
git push <원격저장소 별칭(origin)> <branch 이름> : 원격저장소(origin)에 로컬저장소(브랜치)의 commit된 파일을 푸시한다. 예 (git push origin main)

과제 제출 방법
1. 타 원격저장소로부터 자신의 원격저장소로 가져오기(fork) : 자신의 github상에 새로운(fork한 저장소) 원격저장소가 생긴다.
2. git clone <타 원격저장소 주소> <별칭(지정안하면 타저장소 이름 그대로 가져온다)>
3. 브랜치 생성
4. 생성한 브랜치로 전환
5. github에서 pull request를 진행 : 타 원격저장소로 사용자가 작업한 것(수정한내역)을 저장할 것을 요청

upstream 원격 repo가 갱신되었을 때 origin으로 pull하는 방법

  1. git init
  2. git remote add origin <fork한 저장소 주소> : 내 원격저장소 지정
  3. git remote add upstream <fork 된 저장소 주소> : 원 저장소를 upstream 원격 저장소로 지정
  • git remote -v : 원격 저장소 확인
  1. git pull upstream <원 저장소에서 가져올 branch>

새로운 branch 생성 후 내 원격저장소에 push 하는 법

git branch <branch 생성>
git checkout <생성된 브랜치> : 생성한 브랜치 선택
git add <수정한 파일>
git commit -m "메세지"
git push origin <생성된 브랜치>

참고

  1. fetch 와 pull의 차이?
  • fetch : 가져오기만 함
  • pull : 가져와서 merge까지 진행
  1. upstream이란?
  • 다른 사람의 저장소를 내 저장소로 fork했을 때 내 저장소를 origin, 다른사람의 저장소를 upstream이라고 한다. origin, upstream 모두 remote 저장소이다.
profile
원하는 대로 살자

0개의 댓글