Git 사용방법(clone, add, commit, push)

정연희·2021년 9월 11일
1

Git와 Github

목록 보기
2/3
post-thumbnail

목차

  • 저장소 설정
  • cd
  • add
  • commit
  • push
  • branch
  • git status

저장소 설정, add, commit, push

1. 저장소 설정

모든 것을 하기 앞서, 우선 가장 먼저 해야 할 것은 저장소 설정입니다. 어느 저장소에 파일을 저장/업로드/변경 등을 할지 정해야 비로소 본격적으로 git를 사용할 수 있습니다. 저장소를 설정하는 방법은 두 가지 방법이 있습니다. 1) 터미널에서 새로운 repository를 만들거나, 2) GitHub에 repository를 만들고 그것을 clone하는 방법, 이 두 가지가 있습니다.

1) 터민에서 새로운 repository를 만들기

//명령어
git init

//결과
Initialized empty Git repository in {경로}.git/

git init이라는 명령어는 .git라는 하위 디렉토리를 만들며, 이 하위 디렉토리는 레파지토리 역할을 합니다.

2) clone
GitHub에서 repository를 만든 후, 그 repository에서 code 누르면 나오는 링크를 복사합니다. 그리고 그 링크를 다음과 같이 터미널에서 입력하면 됩니다.

//명령어
git clone {clone 링크}

//결과
Cloning into 'test-clone'...
remote: Enumerating objects: 19, done.
remote: Counting objects: 100% (19/19), done.
remote: Compressing objects: 100% (16/16), done.
remote: Total 19 (delta 3), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (19/19), done.

이렇게 하면 현재 자신이 있는 디렉토리 하위에 그 repository가 저장됩니다. 클라우드에 저장된 repository를 로컬에 저장하는 것입니다.

2. directory 바꾸기

이때, clone 한 후 바로 add했을 때 다음과 같은 에러가 발생할 수 있습니다.

fatal: not a git repository (or any of the parent directories): .git

그 이유는 비록 repository를 로컬에 저장하긴 했지만, 자신이 현재 위치한 directory가 그 repository가 아니기 때문입니다. 그렇기에 cd 명령어(change directory의 약자)를 이용해 repository로 위치를 변경해줘야 합니다.

cd {repository 이름/폴더 이름}

위와 같이 터미널에 작성하시면, 현재 위치해 있는 장소에서 {repository 이름/폴더 이름}로 이동하겠다는 명령을 내리게 됩니다.

<주의할 점>
자신의 repository 폴더가 자신이 위치한 directory에 있어야지만 위 명령어가 작동합니다. 다른 곳에 저장하셨으면 ../를 이용해 상위 폴더로 이동하시거나 /로 하위 폴더로 이동하시면 됩니다.

만약 폴더명이 띄어쓰기가 있을 경우, \를 써야 합니다. 가령, 폴더명이 "project #1"일 경우 cd project\ #1처럼 입력하셔야 합니다.

<참고하면 좋을 점>
ls -a를 입력하시면 현재 자신이 위치한 directory에 있는 모든 파일들을 나열해줍니다.

3. add

add command는 git에게 다음 commit(변경사항 저장 기능)에 변경사항을 추가하고 싶다는 것을 알립니다.

//한 파일만 add할 경우
git add {파일명}

//특정 여러 파일만 add할 경우
git add {파일명} {파일명} {파일명}

//변경사항이 있는 모든 파일들을 add할 경우
git add .

이러면 {파일명}에게 주었던 변경사항들이 모두 업데이트된 상태로 commit로 넘겨주게 됩니다. 만약 특정 여러 파일들을 한꺼번에 add하고 싶을 경우 git add {파일명} {파일명} {파일명}처럼 파일명들을 나열하시면 됩니다. 또한, 만약 변경된 모든 파일들을 한번에 add하고 싶으시면 git add .입력하시면 됩니다.

<주의할 점>
만약 repository에 있지 않은 새로운 파일을 넣고 싶으실 경우, 그 파일들을 로컬 repository에 복붙하시거나 GitHub에서 동일한 이름의 파일을 만든 다음 로컬에 저장된 repository에서 작업하시면 됩니다.

4. commit

git commit -m {구체적 설명}

이제 add된 파일들을 commit하면 되는데, commit이란 변경사항을 기록하겠다는 명령이라고 생각하시면 됩니다. 이때, {구체적 설명}은 어떤 변경사항을 만들었는지, 어떤 파일을 추가했는지를 작성해주시면 됩니다. {구체적 설명}은 다음과 같이 GitHub에 반영이 되는데요, 이것을 작성하는 것은 매우 중요합니다. 이는 다른 사람들과 협업할 때 코드가 어떻게 변화했는지 인지할 수 있도록 함으로써 프로젝트 진행을 원활하게 만들기 때문입니다.

<참고하면 좋은 점>
변경사항이 있을 때마다, 또는 한번에 commit하는 것보다 기능별로 commit하는 것이 좋습니다. 즉, commit 단위를 기능으로 쪼개는 것이 좋습니다. 그 이유는 다른 사람들과 협업할 때 commit history를 통해 작업이 어떻게 되가고 있는지 보여줄 수 있으면 효율적으로 협업할 수 있기 때문입니다.

5. push

git push

이 command는 commit한 것들을, 즉 기록된 변경사항을 업데이트합니다. push를 해야 비로소 GitHub 클라우드에 변경사항이 반영됩니다.

6. branch

//새로운 branch 만들기
git checkout -b {새로운 branch 이름}

//branch 변경하기
git checkout {있는 branch 이름}

//branch 상태 확인하기
git branch

//
git push --set-upstream origin yeonhee

7. git status

현재 자신이 어느 branch에 있으며, add와 commit 상태를 보여주는 command입니다.

//명령어
git status

//결과
$ git status
On branch yeonhee
Your branch is up to date with 'origin/yeonhee'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   index.html
        modified:   script.js

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        listElement.svg
        remove.png

no changes added to commit (use "git add" and/or "git commit -a")

0개의 댓글