본격적으로 Git을 사용하여 파일 버전 관리하는 방법을 배워보도록 하겠습니다.

Git은 리눅스와 같은 큰 프로젝트를 염두에 두고 디자인 되었기 때문에, 아주 많은 명령어들을 가지고 있습니다.

그러나, Git의 기본을 사용할 때에는 몇 개의 명령어만 인지하고 있으면 됩니다.


1. git init 

  깃 저장소를 초기화 합니다. 저장소나 디렉토리 안에서 이 명령을 실행하기 전까지는 일반적인 폴더에 불과하지만, 이 명령어를 입력한 이후에는 Git 명령어를 사용할 수 있게 됩니다. 저장소로 지정할 디렉토리에서 아래의 명령을 입력합니다.

$ git init

  위와 같은 명령어를 입력하면 아래와 같은 화면이 나타나게 됩니다. (저의 경우에는 이미 해당 디렉토리를 저장소로 지정해 놓았기 때문에 Reinitialized 라고 표현되었습니다.

  


2. git status

  저장소의 상태를 체크하는 명령어입니다. 어떤 파일들이 저장소에 있는지, Commit이 필요한 변경사항이 있는지, 현재 저장소의 어떤 Branch에서 작업하고 있는지 등에 대한 정보들을 확인할 수 있습니다.

$ git status

  modified에 나타나는 파일은 경우 기존에 저장소에 저장되어 있던 파일이 수정 되었을 경우에 나타나게 됩니다. 저같은 경우에는 'codefights/intro' 디렉토리 속 boxBlur.py 파일이 수정된 것을 확인할 수 있습니다. 만약 아무것도 수정되지 않았다면 어떠한 파일도 나타나지 않게 됩니다.

  Untracked files에는 기존 저장소에 저장되어 있지 않은 파일이 새로 추가된 것을 알려줍니다. 'minesweeper.py' 파일이 추가된 것을 확인할 수 있습니다.



3. git add

  add 명령은 저장소에 새 파일을 추가하진 않지만, Git이 해당 파일(들)을 지켜보게 합니다. add 명령이 수행된 파일은 Git의 저장소인 'SnapShot'에 포함되게 됩니다.

$ git add [파일 이름] --> (단일 파일)

$ git add * --> (모든 파일)

  add 명령을 통해 'intro/boxBlur.py'를 스냅샷에 추가하였습니다. modified의 전체적인 부분이 초록색으로 변한 것을 확인할 수 있습니다. add 명령을 사용하지 않은 'minesweeper.py' 파일은 여전히 빨간색임을 확인할 수 있습니다.



4. git commit

  Git에서 가장 중요한 명령어라고 할 수 있습니다. 어떤 변경사항이라도 만든 후, 저장소의 'SnapShot'을 찍기 위해 이 명령어를 사용합니다. commit 단위로 파일의 버전 관리가 진행됩니다. 일반적으로 'commit' 명령은 메시지와 함께 입력됩니다. 예시에서는 "-"와 같이 의미없는 메시지를 입력해두었지만, "modified boxBlur.py"와 같이 변경 내용을 한 눈에 알 수 있도록 적는 것이 좋습니다. 입력한 메시지는 추후 Github에 다음과 같이 나타나게 됩니다.

$ git commit -m ["메시지 입력"]

  intro 디렉토리 내의 boxBlur.py 파일이 status 결과 화면에서 사라진 것을 확인할 수 있습니다. 하지만 'minesweeper.py'파일은 사라지지 않았습니다. add 명령을 사용하지 않은 파일의 경우에는 commit되지 않습니다. 




5. git push

  git push 명령은 마지막으로 커밋한 사항을 git repsoitory에 올리겠다는 뜻입니다. 'push'를 하지 않으면 원격 서버에 변경 사항이 저장되지 않습니다. 다시말해서, 프로젝트를 공유하고 싶을 때 리모트 저장소에 'push'할 수 있습니다. 'commit'까지만 명령을 실행했다면 현재의 변경 내용은 아직 로컬 저장소의 HEAD안에 머물고 있을 것입니다. 이제 변경 내용을 원격 서버로 올리기 위해 아래 명령을 실행합니다.

$ git push [리모트 저장소 이름] [브랜치 이름]

  실행 화면의 명령어 중 'origin'과 'master'는 각각 리모트 저장소와 브랜치를 의미합니다. 또한 '-u'는 원격 저장소로부터 업데이트를 받은 후 'push'를 한다는 의미이므로 습관적으로 '-u'의 사용을 권장합니다.

  만약, 기존에 있던 원격 저장소를 복제(Clone)한 것이 아니라면, 원격 서버의 주소를 git에게 알려주어야 합니다.

$ git remote add origin [원격 서버 주소] --> (원격 서버 주소 설정)

$ git remote -v --> (현재 서버 주소 확인)

  'git remote -v'를 했을 때, 위와 같은 주소가 나타나고, 'git push -u origin master' 명령을 입력했을 때 오류가 발생하지 않는다면 정상적으로 원격 서버 주소가 설정된 것입니다.




References


'Git' 카테고리의 다른 글

[GIT] macOS에서 Git 사용하기 (1)  (0) 2018.01.18
[GIT] GIT이란 무엇인가?  (0) 2018.01.08

+ Recent posts