ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • GIT | 기초 정리
    ETC./GIT 2020. 3. 30. 14:56

    CONFIG

    깃 프로그램에 아이디, 이메일, 에디터 등을 초기화하는 과정


    사용자 정보

    Git을 설치하고 나서 가장 먼저 해야 하는 것은 사용자이름과 이메일 주소를 설정하는 것이다.
    Git은 커밋할 때마다 해당 정보를 사용하며, 한 번 커밋한 후에는 정보 변경이 불가능하다.

    $ git config --global user.name "사용자명" # ex) "pathas"
    
    $ git config --global user.email 이메일주소 # ex) pathas@~.com

    --global 옵션으로 설정하는 것은 딱 한 번만 하면 된다.
    해당 시스템에서 등록한 사용자가 작업할 때는 글로벌로 설정된 정보를 사용한다.
    만약 프로젝트마다 다른 이름과 이메일 주소를 사용하고 싶으면
    --global 옵션을 빼고 명령을 실행하면 된다.


    에디터 정보

    GIT에 연동할 에디터 설정

    $ git config --global core.editor 에디터이름 or "경로설정"
    # ex) emacs, "c:\~.exe"
    
    $ code .
    # 프로젝트가 있는 폴더에서 해당 명령어를 입력하면 등록한 에디터를 바로 실행할 수 있다.

    ※ Windows 사용자라면 다른 텍스트 편집기를 사용할 수 있으며,
    실행파일의 전체 경로를 설정하면 된다.


    FORK

    fork는 다른 유저의 계정에 있는 저장소를 자신의 계정으로 복사하는 기능이다.
    fork이후에는 자신의 계정 아래에 있는 저장소를 활용해 진행한다.


    CLONE

    fork한 저장소는 github.com에 존재하기 때문에 소스 코드를 추가하고, 수정하는 작업을 할 수 없다.

    clone 명령은 github.com에 존재하는 저장소를 자신의 노트북 또는 PC로 복사하는 과정이다.

    $ git clone https://github.com/{본인_아이디}/{저장소 아이디}.git
    # 깃허브 사이트 저장소에서 URL주소 카피 가능

    참고 | CD, MKDIR

    cd 폴더이름
    # 현재 위치를 해당 폴더로 이동시킬 수 있다.
    
    mkdir 폴더이름
    # 폴더를 생성하는 명령어이다.

    INIT

    clone을 사용하지 않고 GIT을 시작하려면
    GIT 사용을 원하는 프로젝트 폴더에서 init 명령어를 사용해야 한다.

    $ git init

    REMOTE

    로컬에서 GIT을 시작했다면 원격 저장소와 직접 연결해 주어야 한다.
    Github에 저장소를 만든 뒤에 명령어로 원격 저장소를 연결해 주면 된다.

    Github 저장소 주소는 비어있는 저장소에 들어가면 확인할 수 있다.

    $ git remote add origin Github저장소주소.git
    
    $ git remote -v # 원격 저장소 확인

    origin은 저장소를 등록할 이름으로 임의로 지정할 수 있지만 일반적으로 origin을 사용한다고 한다.

    ※ clone 하지 않는 경우 로컬에서 기본적인 개발 환경을 준비한 뒤에 commit을 하고 원격 저장소로 push하면 원격 저장소에 커밋 내역이 반영된 것을 확인할 수 있다.


    BRANCH

    master 하위 작업 가지인 branch 생성
    각각의 branch는 서로 독립적으로 작업 내용 관리

    $ git checkout -b 브랜치 이름 # 브랜치를 생성하면서 해당 브랜치로 이동
    
    $ git checkout 브랜치 이름 # 해당 브랜치로 체크아웃
    
    $ git branch # 현재 브랜치 및 저장소의 모든 브랜치 확인
    
    $ git branch -r # 원격 저장소의 브랜치 확인 가능
    
    $ git branch --delete 브랜치 이름 # 해당 브랜치 삭제
    
    $ git branch -D 브랜치 이름 # -D 옵션으로 강제 삭제 가능
    
    $ git branch -m 기존_브랜치_이름 새로운_브랜치_이름 # 기존 브랜치 이름 변경

    ※ 주의사항 !!
    branch를 생성하면 기존에 머무르던 브랜치의 작업 내역이 복사해서 생성되기 때문에

    master 브랜치는 비워두고 develop 등의 작업 브랜치를 하나 생성해서 작업하는 것을 추천한다.

     


    로컬에서 삭제한 브랜치를 원격 저장소에서도 삭제하고 싶다면?

    로컬과 원격 저장소는 분리되어 있기 때문에 로컬에서 삭제한 내역을
    원격 저장소에도 직접 반영해 주어야 한다.

    $ git push origin :삭제한 브랜치 이름

    ADD, COMMIT

    작업 내용을 로컬 저장소의 현재 branch에 저장한다.
    Github 저장소에 올라가는 것은 아니며 작업 내역에 세이브포인트를 만드는 것이다.
    트랜잭션을 생성하는 것이라고 생각하면 이해하기 쉽다.

    $ git status # 작업 내용(생성/변경된 파일) 확인
    
    $ git add -A(or .)
    # 변경된 전체 파일을 git이 추적(track)할 수 있도록 함
    
    $ git commit -m "메시지"
    # 작업 내용을 메시지에 기록한 뒤 add한 작업 내역을 커밋함

    PUSH

    로컬 저장소에서 작업한 내용을 깃허브 저장소에 저장하는 것

    작업을 마치고 가장 마지막에 수행

    $ git push origin 브랜치이름

    PULL REQUEST

    pull request는 github에서 제공하는 기능으로 코드리뷰 요청을 보낼 때 사용

    pull request는 original 저장소의 master 브랜치
    앞 단계에서 생성한 브랜치 이름을 기준으로 한다.

    1. 브라우저에서 github 저장소에 접근한다.
    2. 브랜치를 작업 브랜치로 변경한다.
    3. 브랜치 오른쪽에 있는 "New pull request" 버튼을 클릭한다.

    FETCH

    원격 저장소 브랜치의 내용을 이름 없는 브랜치로 로컬로 가져온다.
    FETCH_HEAD의 이름으로 체크아웃할 수 있다.
    로컬 브랜치로의 병합을 원한다면 merge를 하거나
    다시 원격 저장소의 브랜치를 pull 하면 된다.

    $ git fetch origin 브랜치이름

    MERGE

    원격 저장소에서 가져온 작업 내역을 로컬 저장소의 브랜치로 병합한다.
    가져온 커밋 내역을 병합할 브랜치로 이동한 뒤에 merge 명령어를 실행한다.

    $ git merge 커밋이름

    MERGE 주의사항

    commit 내역을 가져올 때 서로 다른 커밋이 같은 파일에 작업을 한 경우 충돌이 날 수 있다. 그런 경우에는 두 커밋의 차이를 대조해보고 저장을 원하는 커밋의 내용으로 해당 파일을 수정해 주어야 한다. 그 뒤에 다시 merge 명령어를 실행하면 정상적으로 커밋 내역을 병합할 수 있다.


    PULL

    위에서 살펴본 FETCH와 MERGE 명령어를 한 번에 실행할 수 있는 명령어이다. 로컬 저장소의 브랜치에서 원격 저장소의 브랜치를 pull 하면 해당 원격 저장소의 최신 내용을 로컬 저장소의 브랜치로 바로 병합한다.

    $ git pull origin 브랜치이름

    ※ 병합까지 한 번에 이루어져서 편하기는 하지만 실수할 수 있기 때문에
    항상 현재 브랜치를 확인하고 pull 하는 습관을 들이는 것이 좋다.


    OCTOTREE

    깃허브 사이트 프로젝트에 GUI 네비게이션 바를 표출해 주는 크롬 확장 프로그램

    • chrome web store에서 설치

    크롬 시크릿 모드에서 사용

    1. 일반 크롬 우측 상단에 설정 탭 클릭
    2. 도구 더보기
    3. 확장 프로그램
    4. OCTOTREE 세부정보
    5. 시크릿 모드에서 허용

    GIT은 익숙해지기가 상당히 까다롭기 때문에 작업하는 데에 필요한 기초 내용들을 한 곳에 정리해 보았습니다.

    일반적인 작업 순서에 따라서 배치한다고 했는데 자연스럽지 않은 부분이 있거나 잘못된 내용이 있는 경우 알려주시면 감사하겠습니다.

    출처

     

    1. GIT 공식 사이트
      https://git-scm.com/book/ko/v2/%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-Git-%EC%B5%9C%EC%B4%88-%EC%84%A4%EC%A0%95
    2. Woowacourse github
      https://github.com/woowacourse/woowacourse-docs/blob/master/precourse/README.md
    3. 누구나 쉽게 이해할 수 있는 Git 입문
      https://backlog.com/git-tutorial/kr/

    댓글

Designed by Tistory.