Git의 기본적인 명령어들 (기초사용법)
Git은 기본적으로 인터넷 없이도 사용할 수 있는 프로그램이고,
컴퓨터 OS 위에서 사용하는 프로그램입니다. (맥, 윈도우, 리눅스 등)
그러기 대문에, git을 사용하기 위해서는, 원하는 컴퓨터 운영체제에서 git을 다운받아서 설치하여야 합니다.
git-scm.com/ git 홈페이지에 가면 각각 운영체제 별로 git을 다운받을 수 있습니다.
이때 주의할 점은, mac과 리눅스에서는 터미널이 기본으로 주어지지만, 윈도우에서는 그러지 않는 만큼,
윈도우에서 git을 설치할 때는, git command line (git bash)을 꼭 설치하는 것이 좋습니다!
왜냐하면, git은 command line을 사용하여 관리하는 것이 편하기 때문이죠!
git gui같은 경우에는 있으면 편할 수 있지만, gui 툴은 git의 gui 말고도 다른 좋은 툴들이 많기 때문에, (sourcetree, gitkraken 등)
굳이 무조건적으로 설치할 필요할 필요는 없다고 생각합니다.
그럼 본격적으로 git 명령어들에 대해 알아볼까요?
git을 설치하고 command line을 열어서, 우리가 git을 실행하고 싶은 디렉토리(폴더)로 가 줍니다.
가는 방법은, cd 와 ls를 적절히 섞어서 가주면 됩니다.
목표 디렉토리에서 처음 이제 git local repository를 만들어 줍니다.
$ git init # git local repository 생성!
이렇게 되면, directory 안에 .git이라는 숨겨둔 폴더가 하나 생성됩니다.
이 숨겨진 폴더 안에 모든 기록들이 저장되는 것입니다.
이런저런 작업들을 마친 후, staging area(임시 저장소)로 올리는 코드를 칩니다.
. 은 모든 파일에 대한 약자 입니다.
$ git add . # 모든 파일/폴더를 staging area에 저장!
여기서 commit을 하면, 기록으로 올라가기 때문에, commit을 하기 전에는 조금 신중해야 합니다.
처음 commit을 하기 전 몇 가지 팁을 주자면, 내가 올리고 싶은 파일들을 git add로 일일히 다 올릴 수는 있지만,
만약 잘못 올렸다면, 이 커맨드로 임시 저장소에서 unstage를 할 수 있습니다.
$ git reset # staging area에서 unstage 하기!
git의 staging area에 올라가 있는 파일이 어떤건지, 아닌 파일이 뭔지를 알려면 이 명령어를 사용할 수 있습니다.
$ git status # 현재 상황 확인하기! 어떤 파일이 staged되어 있는지, 안되어있는지
게다가, 아예 올리기 싫은 파일이 있으면, 깃이그노어라는 파일을 만들어서 거기다가 명시하면 됩니다.
깃이그노어의 경우 .gitignore라는 파일을 만들어서, 그 안에 파일이나 폴더명을 써 주면 됩니다.
command line에서는 vim editor를 디폴트로 사용할 수 있고, i 를 누르면 edit이 가능하고, 저장은 :wq로 가능합니다.
$ vi .gitignore # 깃이그노어 파일 생성
모두 다 끝났으면, 이제 commit을 할 차례입니다.
commit할 때는, commit 메세지를 꼭 작성해 주도록 하고, 나중에 어떤 일을 했는지 알아볼 수 있도록 작성합시다.
commit을 할 때에, 어떤 작업의 완료되는 점에서 commit을 하는 것도 상당히 중요함을 알 수 있습니다.
commit 커맨드는 다음과 같습니다.
$ git commit -m "커밋 메시지" # -m 은 커밋 메시지를 의미!
커밋을 완료하였다면, 이제 리모트 저장소로 푸쉬를 해야겠죠?
리모트 저장소로 푸쉬를 하기 위해서는, 리모트 저장소에 회원가입 (id/pwd)를 하고,
리모트 저장소를 만들어야 합니다!
리모트 저장소를 만들면(github의 경우), 다음과 같은 화면이 뜹니다.
처음엔 좀 헷갈릴 수 있지만, 헷갈릴 게 없는게, 우리가 push를 하려면,
local 저장소에서는 remote 저장소를 알 수 있는 방법이 없습니다.
만약 local 저장소가 있는 경우에는, git remote add 로 리모트 저장소를 저장해줍니다.
git branch -M main의 경우 현재 브랜치를 main으로 변환하는 것을 말합니다.
브랜치에 대해서는 다음 포스트에서 설명하고자 합니다.
우리는 이미 로컬 저장소를 만들었기 때문에, 다음과 같은 커맨드만 입력하면 되겠습니다.
$ git remote add origin https://github.com/jinmc/pracprac.git
$ git branch -M main
$ git push -u origin main # -u 는 --set-upstream (자동설정) origin은 리모트, main은 branch
그 동안의 로그 히스토리를 보려면
$ git log
을 하면 그동안의 커밋 히스토리를 볼 수 있습니다.