git

Git 기본 명령어 가이드

임베디드 친구 2024. 12. 5. 13:56
반응형

Git은 버전 관리 시스템으로, 많은 소프트웨어 개발자들이 사용하는 필수 도구입니다. 이번 글에서는 Git의 기본 명령어와 함께 로컬 저장소 생성, 원격 저장소 복제, 변경 사항 추적, 커밋 등의 과정을 다루어 보겠습니다. 이를 통해 Git의 핵심적인 사용법을 이해하고 버전 관리를 시작하는 데 도움이 되길 바랍니다.

로컬 저장소 생성 (git init)

로컬 저장소는 프로젝트의 파일들을 버전 관리하기 위한 기본 단위입니다. 새로운 프로젝트를 Git으로 관리하고 싶다면, 로컬 저장소를 생성하여 시작할 수 있습니다. 이때 사용하는 명령어가 바로 git init입니다.

$ git init

위 명령어를 실행하면 현재 디렉터리가 Git 저장소로 초기화됩니다. 이 명령어는 .git이라는 숨김 폴더를 생성하며, 이 폴더는 Git이 프로젝트의 버전을 추적하고 관리하는 데 필요한 정보를 포함하고 있습니다. git init을 사용하여 초기화한 디렉터리는 이제 로컬 저장소가 되었고, 파일을 추가하고 변경 사항을 추적할 수 있게 됩니다.

예시

$ mkdir my_project
$ cd my_project
$ git init
Initialized empty Git repository in /path/to/my_project/.git/

위와 같이 my_project라는 디렉터리를 생성하고 그 안에서 git init 명령어를 실행하면, 해당 디렉터리는 이제 Git 저장소로 관리됩니다.

원격 저장소 복제 (git clone)

다른 사람이 만든 저장소나 원격에 있는 저장소를 로컬로 가져와 작업하고 싶을 때는 git clone 명령어를 사용합니다. 이 명령어는 원격 저장소의 모든 파일과 커밋 기록을 복제하여 로컬에 저장소를 만듭니다.

$ git clone <repository_url>

여기서 <repository_url>은 복제하고자 하는 원격 저장소의 URL입니다. 예를 들어 GitHub, GitLab과 같은 플랫폼에서 제공하는 저장소 URL을 사용할 수 있습니다.

예시

$ git clone https://github.com/user/repository.git
Cloning into 'repository'...
remote: Counting objects: 100% (12/12), done.
remote: Compressing objects: 100% (8/8), done.
Receiving objects: 100% (12/12), done.

위 명령어를 통해 GitHub에 있는 저장소를 로컬에 복제하여 로컬에서 자유롭게 수정하고 작업할 수 있습니다.

변경 사항 추적 (git status, git add)

프로젝트 파일을 수정하거나 새로운 파일을 추가하면, Git은 이러한 변경 사항을 추적해야 합니다. 현재 변경 사항의 상태를 확인하고, Git이 해당 변경 사항을 인식하게 하기 위해 git statusgit add 명령어를 사용할 수 있습니다.

변경 사항 확인 (git status)

$ git status

git status 명령어를 사용하면 현재 저장소의 상태를 확인할 수 있습니다. 이 명령어는 다음과 같은 정보를 제공합니다:

  • 아직 추적되지 않은 파일들 (untracked files)
  • 수정되었지만 아직 스테이징되지 않은 파일들 (modified but not staged)
  • 스테이징된 파일들 (staged)

변경 사항 스테이징 (git add)

파일을 변경하거나 추가한 후에 이를 커밋에 포함시키기 위해서는 먼저 "스테이징"을 해야 합니다. git add 명령어를 사용하여 변경된 파일을 스테이징 영역에 추가할 수 있습니다.

$ git add <file_name>

여기서 <file_name>은 스테이징하고자 하는 파일의 이름입니다. 모든 파일을 스테이징하려면 다음과 같이 .을 사용할 수 있습니다.

$ git add .

이 명령어는 현재 디렉터리 내의 모든 변경 사항을 스테이징합니다.

예시

$ git status
On branch main
Untracked files:
  (use "git add <file>..." to include in what will be committed)
        new_file.txt

$ git add new_file.txt
$ git status
On branch main
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        new file:   new_file.txt

위 예시에서 git status로 새로운 파일 new_file.txt가 추적되지 않은 상태임을 확인한 후, git add new_file.txt로 스테이징하여 커밋 준비 상태로 만들었습니다.

커밋하기 (git commit)

변경 사항을 저장소에 기록하기 위해서는 커밋을 해야 합니다. 커밋은 현재 스테이징된 변경 사항들을 하나의 버전으로 저장하는 작업입니다. git commit 명령어를 사용하여 이를 수행할 수 있습니다.

$ git commit -m "커밋 메시지"

여기서 -m 옵션은 커밋 메시지를 지정하기 위한 것으로, 해당 커밋이 어떤 변경 사항을 포함하고 있는지 설명합니다. 좋은 커밋 메시지는 나중에 변경 내역을 쉽게 이해할 수 있도록 해주므로 매우 중요합니다.

예시

$ git commit -m "Add new_file.txt with initial content"
[main (root-commit) abc1234] Add new_file.txt with initial content
 1 file changed, 10 insertions(+)
 create mode 100644 new_file.txt

위 예시에서 new_file.txt 파일을 추가하고, 이를 커밋하여 변경 사항이 저장소에 기록되었습니다. 커밋 메시지는 "Add new_file.txt with initial content"로, 변경의 목적을 간결하게 설명하고 있습니다.

요약

지금까지 Git의 기본 명령어들을 살펴보았습니다. 새로운 프로젝트를 시작할 때 로컬 저장소를 생성하는 git init, 원격 저장소를 로컬에 복제하는 git clone, 변경 사항을 확인하는 git status, 변경 사항을 스테이징하는 git add, 그리고 최종적으로 변경 사항을 저장하는 git commit까지, 이 모든 과정이 Git을 사용하는 데 있어 필수적입니다.

이러한 기본 명령어들을 익히고 나면, 프로젝트의 버전 관리를 효율적으로 할 수 있으며, 협업에서도 유리한 위치를 점할 수 있게 됩니다. Git의 더 많은 기능과 명령어들은 차차 익히게 되겠지만, 우선 이번 글에서 다룬 명령어들을 충분히 연습하여 익숙해지시기 바랍니다.

반응형