보뇨 다이어리

Chapter 02 : 로컬 저장소 사용을 위한 Git 기본 본문

컴퓨터 관련/Git, GitHub 정보

Chapter 02 : 로컬 저장소 사용을 위한 Git 기본

보뇨 2017. 7. 22. 17:47
반응형

이전 글에서 로컬, 원격 저장소에 대한 말이 있었는데 먼저 로컬에 대해 알아보자!


  • Git 기본 명령어

저장소 생성 

git init 

실행한 위치를 Git 저장소로 초기화

저장소에 파일 추가

git add 파일이름

add 옆에 파일을 Git이 찾을수있게 저장소에 추가 

저장소에 수정 내역 제출

git commit 

변경된 파일을 저장소에 제출 

저장소 상태 확인 

git status 

현재 저장소의 상태 출력 

  • branch 명령어

저장소에 브랜치 추가 

git branch 이름 

이름의 브랜치를 생성 

작업 중인 브랜치 변경 

git checkout 브랜치이름 

경로를 브랜치이름쪽으로 바꾸는거 

브랜치 병합 

git merge 브랜치이름 

현재 작업중인 브랜치에 merge ~ 뒤에 있는 브랜치를 합치는것 


기본적으로 깃을 사용할때 생명주기라고 해야하나...? 그것이

master 이외의 브랜치를 생성하여 이동하고 변경 및 수정을 한뒤에 그 수정한것들을 commit 한다. 그리고 master 브랜치쪽으로 이동하여 병합을 하면 끝~~! 여기서 커밋이란 프로젝트에서 의미가 있는 최소한의 단위라고 적혀있는데 필자생각으로는 어떠한 문서를 열람하거나 수정할때 아래에 주석처럼 몇월몇일 머머했음 하는것처럼 글을 남기는것같다. 



저장소 생성

 깃을 시작하기 앞서 간단한 유닉스 명령어[각주:1] 를 확인, 그리고 git bash 를 눌러 창을 띄우자

  1. mkdir git_tutorial 타이핑하여 git_tutorial 디렉토리를 생성
  2. cd git_tutorial git_tutorial 디렉토리로 이동
  3. git init 저장소를 초기화
여기서 초기화를 하게되면 master 라는 단어가 끝에 생기게 된다.

첫번째 커밋
"Hello world"를 출려가는 파이썬 파일을 생성해주자 vim을 통해서 하던 파이썬 프로그램을 하던 상관없다. 다만 그 디렉토리안에 있어야한다!
새로 생긴 파일은 Git 에서 추적되어있지 않기 때문에 git add ~ 를 시켜준다.
그리고 아까 맨 위에 말한것처럼 수정을 했으면 카밋을 해야하기 때문에 도스창에 git commit 이라고 타이핑한뒤 vim 편집기를 통해서 맨위에 커밋 메시지를 작성해준다. vim에서 나올때는 :wq 로 저장해서 나온다. 저장하지 않고 나올려면 :q 를 타이핑하면 된다.

새로운 브랜치 생성과 이동
  • git branch 
    • 는 현재 어떤 브랜치가 있는지 볼수있고 내 위치도 볼수있다. 어느 브랜치에 있는지
  • git branch 이름
    • 이름의 브랜치가 생성된다. 여기서 새로 생긴 브랜치는 master 브랜치에서 아메바처럼 나온것이기 때문에 같은 데이터를 가지고 있다.
그후에 새로운 브랜치(임의로 hotfix라고 지칭)에 이동한다. 참고로 브랜치 생성과 이동을 한번에 하는방법은
'git checkout -b 브랜치이름' 이다.
이따가 병합을 해야하기 때문에 hotfix 브랜치에 있는 hello.py 프로그램을 수정하여 새로운 코드를 추가한다.

두 번째 커밋
위와같이 수정했기에 합병하기전에 카밋을 해야한다. 한파일 한파일씩 카밋하는것은 노가다이기 때문에 git commit -a 를 타이핑하면 저장소 파일 모두를 커밋한다는 말이다. 그럼 첫번째 커밋처럼 메시지를 달아주고 나온다. 혹시 카밋이 되어있는지 안되어있는지 확인할려면 git status !! 눌러보는것을 잊지말자.

master 브랜치와 병합
이제 수정한 hotfix 브랜치와 병합하기 위해서는 master 브랜치로 이동해주자 그리고 git merge hotfix 를 타이핑하면 합병이 완료된다.
hotfix 브랜치에서 수정한 hello.py 이 제대로 있는지 출력도 해보자







  1. 디렉토리 생성 mkdir ~ 내용 출력 cat ~ 디렉토리 내용 출력 ls 디렉토리 이동 cd ~ [본문으로]
반응형