개발자들의 코드를 효율적이고 안전하게 관리하기 위하여 사용하는 '분산형 버전 관리 시스템'이며, 다른 개발자들과 협업을 위해서 버전 관리 시스템의 사용법을 익히는 것은 무척이나 중요합니다.
오늘은 로컬 저장소(Local Repository)를 만들고 변경된 파일을 원격 저장소에(Remote Repository) 올리는 방법을 정리하고자 합니다.
Local Repository는 내 컴퓨터의 저장소를 의미하며, 로컬 환경의 디렉토리를 git Repository로 추가하면 git에서 그 디렉토리에서 발생하는 변화를 감지할 수 있게 됩니다.
// 터미널에서 해당 디렉토리로 이동하여 명령어를 사용한다.
cd ~/Desktop/Code/my-app
git init
Repository는 크게 세가지 영역으로 나누어집니다.
git init 명령으를 통해 Repository를 생성하면 git의 관리하에 들어오는 디렉토리를 work space라고 합니다.
git에서는 work space에서 지정한 파일의 변경을 추적할 수 있는데 이렇게 git의 관리하에 두는 파일들을 staging area에 추가합니다.
// 특정 파일을 git의 관리하에 두기 위해서는 add 라는 명령어를 사용합니다.
cd ~/Desktop/Code/my-app
ls // index.css index.html
add index.js // index.csss 파일을 staging area에 추가
git add . // 디렉토리 내 모든 파일을 staging area에 추가
git status // staging area로 옮겨졌는지 확인
아래는 git status 명령어 사용 시 터미널에 출력된 내용이다.
첫 번째로 현재 브런치 이름이 출력됩니다. 현재 브런치는 master로 첫번째 브런치를 의미합니다
두 번째로 출력된 내용은 아직 commit하지 않았음을 알려줍니다.
세 번째로 출력된 내용은 stagin area에 올라간 파일들을 확인 가능합니다.
또한, unstage를 위해서는 git rm --cached [파일명] 이라는 명령어를 사용할 수 있음을 알 수 있습니다.
commit은 쉽게 말해 코드 묶음으로 저장는 것입니다. staging area에 있는 파일을 묶어 저장하고 메시지를 기록할 수 있습니다. 메시지를 기록한다는 의미는 그 코드가 어떤 내용인지 라벨링하는 것입니다.
git commit -m "First commit" // "First commit이라는 메시지를 작성하여 commit
commit을 하게되면 staging area의 상태를 스냅샷하게 됩니다. commit한 당시의 코드 상태를 저장해 두는 것입니다. 작성한 코드 중 실수가 있을 경우 복구하는 것 또한 가능하며, 그러기 위해서는 작은 기능별로 commit을 해두는 것이 작업하기 효율적입니다.
git reset <되돌릴 커밋>
Remote Repository는 사용자의 컴퓨터가 아닌 다른 작업 공간에 위치한 저장소를 의미합니다.
우선 원격 저장소를 생성한 후 로컬 저장소와 연결을 시켜주어야 합니다.
// git remote add origin https://github.com/[Github 계정]/[원격 저장소명].git
git remote add origin https://github.com/abc/first.git
// 로컬 저장소와 Github의 abc라는 계정의 first라는 원격 저장소를 연결
git remote -v // 원격 저장소가 연결되었는지 확인
로컬 저장소에 commit해둔 파일을 원격 저장소로 옮길 수 있습니다.
// git push [원격 저장소명] [브런치명]
git push origin master // origin 저장소에 master 브런치로 파일 이동
현재 Github에서는 Repository 생성 시 master라는 브런치 대신 main이라는 브런치를 사용하고 있습니다.