윈도에서는 명령 프롬프트(cmd)에서, 맥이나 다른 OS에서는 터미널이라고 하는 프로그램입니다.
우리가 일반적으로 접하는 마우스로 클릭하는 프로그램이 아닌 키보드로 입력을 받아 명령을 수행합니다.
프로젝트가 살고 있는 저장공간. (혹은 디렉토리라고 칭하기도 합니다.)
다른 블로그나 카페글들을 보니 주로 'repo'라고 줄여서 사용하고 있네요!
이 저장소 안에 코드, 텍스트, 이미지를 저장할 수 있습니다.
팀 단위로 프로젝트를 운영할 때 필수적인 기능인데, 깃허브는
다수의 사용자가 하나의 페이지를 수정해도 각 사용자별로 수정 내용을 저장합니다.
모든 시점의 '스냅 샷'을 저장하기 때문에 겹쳐 쓸 일이 없습니다.
커밋을 하면, 그 시점의 자신의 Repo 스냅샷을 찍어서 체크포인트 깃발을 꽂아둔다. 생각하면 편합니다.
보통의 체크포인트가 그렇듯이 수정을 하다 이 체크포인트로 되돌아가고, 복원할 수 있습니다.
자신이 진행하는 프로젝트의 브랜치를 따서 (Branch off) 자기의 버전을 만드는 겁니다.
작업을 마무리하면 프로젝트 메인디렉토리인 'master'에 브랜치를 'merge'합니다.
이 명령어들은 cmd 창에서도 되고, git bash에서도 실행이 됩니다.
원격 저장소(github 안에 있는)와 로컬 저장소 (내 컴퓨터에 있는)를 오가면서 개발을 할 때 유용합니다.
git init : 현재 디렉터리를 Git 저장소로 변환해줍니다.
git add : 파일을 원격 저장소에 추가합니다. ( 예시로 test1.py를 추가하려면 git add test1.py 실제 추가가 아니라 깃의 저장소의 스냅샷에 포함된다고 생각하면 될듯 합니다.)
git commit : 디렉토리의 변경과 추가를 저장소에 기록합니다. ( git commit -m "New File" : 커밋 시 남길 메시지)
git push : 로컬 저장소의 변경사항을 github에 반영합니다. ( git push origin master )
git checkout : 현재 위치하고 있지 않은 저장소를 체크아웃합니다. (예를 들어 master 브랜치를 보고 싶으면, git checkout master를 사용할 수 있습니다.)
git merge : 브랜치에서 하던 작업을 끝내고, 동료가 볼 수 있는 master브랜치로 합치는 과정입니다.
git pull : 로컬 저장소 작업할 때, 작업하고 있는 저장소의 최신 버전을 받아옵니다.
실제로 로컬에서 작업한 작업물을 원격 저장소로 옮기는 방법은 이렇습니다.
cmd창을 열어 저장할 파일이 있는 파일로 이동합니다.
을 이용해서 원격저장소와 연결할 수 있는 git파일을 생성하고,
로컬에 올리고 싶은 파일을
ex: git add test.py
를 이용해서 git이 그 파일을 지켜보게 합니다.
git commit -m "first commit"
이후 commit을 해줍니다.
git remote -v (깃허브 remote 상태 보는 명령어)
를 입력해서 아무것도 뜨지 않으면
자신의 repo에 들어가서 위에 보이는 링크를 복사하고,
git remote add origin '복사한 링크'
를 사용해서 remote를 완료해줍니다.
ex:) git remote add origin https://github.com/do-not-do-that/Hacking.git
이후에
git push -u origin master
를 이용해서 로컬 저장소에 있는 파일을 원격으로 push 해줍니다.
원격에서 확인해보면, 파일이 성공적으로 올라간 것을 확인해 볼 수 있습니다.