Git, Github 공부(드림코딩 by 엘리) 2편

JooKit 주킷 2020. 12. 13. 18:39
목차 접기
728x90
반응형

Git Workflow

1. local

  • working directory
    • untracked
    • tracked
  • staging area
    • add
  • .git directory
    • commit
    • git version history에 저장한다.
  • pull

2. remote

  • .git directory
  • push

staging area에서 다시 working directory로 보내기

  • git rm --cached *

working directory에 있는 모든 파일을 staging area로 옮기는 방법

  • git add .

git에 포함하고 싶지 않은 파일 관리

  • echo style.css > .gitignore
  • build/
  • build/.log <- build/*.log
    • 특정 directory안에 있는 파일을 git에서 제외시킬 수도 있다.
  • .gitignore 파일을 만들어서 적어놓으면 된다.
  • vim .gitignore 입력하면 .gitignore 파일에 적힌 파일 리스트를 확인할 수 있다.

git status 명령어에 대해서 자세히 알고 싶다면?

  • git status -h

간단한 git status 상황 확인 방법

  • git status -s(short 의미)
  • A(초록색) 의미 : staging area에 추가된 정보
  • ??(빨간색) 의미 : 아직 tracking되지 않은 working directory에 있다는 의미.

A(초록색)M(빨간색)의미

  • echo add >> c.txt
  • git status -s
    • staging area에 있는 c.txt를 add 문구를 추가하고 status 상태를 확인해본다.
    • A(초록색)은 staging area에는 있지만 M(Modify)된 것을 의미
  • 정확하게 어떤 내용이 수정되었는지는 알 수 없다.

상세한 git status(add) 상태 확인 방법

  • git status
  • (git status -s의 -s를 빼고 입력하면 된다.)

working directory에 있는 파일들 중에 수정 내용 확인 방법

  • git diff
  • -1 : 이전 파일
  • +1 : 현재 파일
  • +1,2 : 현재 파일의 1,2줄을 확인해봐
    • +add add가 추가되었다.
    • -add add가 삭제되었다.

staging area의 파일들 수정 내용 확인 방법

  • git diff --staged
  • git diff --cached
  • 위 2개 명령어 동일하게 사용 가능
  • null : 이전에는 파일이 없었다.
  • +1 : 현재 추가된 내용

다양한 방식으로 내가 원하는 것들을 확인할 수 있다.

  • git diff -h

terminal에서 확인하는게 힘들다면 원하는 UI와 연결 가능

  • git config --global -e

    [diff]
    tool = vscode
    [difftool "vscode"]
    cmd = code --wait --diff $LOCAL $REMOTE
  • diff 툴은 vscode 라는 것을 사용하고

  • vscode의 명령어는 code 다음에 terminal에서 기다리고

  • diff를 이용하고 local과 remote를 비교한다.

visual studio에서 working directory에서 수정된 내용 확인하는 방법

  • git difftool
  • y
  • visual studio에서 실행된다.
  • add가 추가된 것을 확인해볼 수 있다. ( 수정된 내용을)

visual studio에서 staging area에서 수정된 내용 확인하는 방법

  • git difftool --staged
  • y
  • 예전에는 아무것도 없었고 추가된 'hello world'를 확인할 수 있다.

버전을 생성할 때,

  • git commit
  • 옵션 없이 이용하게 되면 기본적인 템플릿이 제공된다.
  • Title 작성
  • Description 작성
  • 저장

commit history 확인하는 방법

  • git log
  • commit과 전체적인 hashcode 확인 가능
  • 누가 언제 했는지
  • Title과 Description 확인 가능

추가로 수정된 내용이 있다면?

  • echo add >> c.txt
  • git status -s

간단한 commit 방법

  • git commit -m "second commit"
  • -m 의미 : message
  • git log
  • 두번째 commit 확인 가능하다.

working directory에 있는 파일들을 staging area에 옮기지 않고

바로 commit 하는 방법(나는 working directory에 있는 파일이 모두 마음에 들어)

  • git commit -am "third commit"
  • -a(all) -m(message) 를 합쳐서 -am으로도 사용 가능
  • echo add >> c.txt를 하고 working directory에 있는 수정된 파일을
    staging area로 옮기지 않고 바로 working directory와 staging area에 있는
    모든 파일을 위의 명령어를 통해서 바로 commit 할 수 있다.
  • git log
  • third 세번째로 commit 한 내용까지 모두 확인해볼 수가 있다.

.git directory에 있는 commit들은 history의 창고이다.

  • 어플리케이션의 기능별로 작은 단위로 만들어 나가는게 좋다.
  • 큰 코끼리를 history에 저장하는거보다 작게 commit을 하는게 좋다.
  • commit 1,2,3보다 의미있는 이름별로 저장
  • 프로젝트 초기화, 로그인 기능, about page 등등 의미있는 이름으로, 작은 단위로
  • 그래야 원하지 않는 commit을 취소하기도 편하다.

commit 주의사항

  • 내가 crashing 하기로 했다면 그 부분에 대해서만 수정 후 commit
  • commit은 너무 커도 문제이고 너무 작아도 문제가 될 수 있다.
  • commit 감을 익히는것도 중요하다(숙련도)
728x90
반응형
LIST