라즈베리파이반

라즈베리파이 등 컴퓨터계열 게시판입니다.

제목Git 튜토리얼 (1) - 커밋, 푸시, 풀2022-09-13 00:51
작성자user icon Level 4

88x31.png


예제를 통해 실제 Git 명령어를 사용해보도록 하겠습니다.


1. git 설치


 IDE를 통해 쉽게 작업할 수 있지만 터미널상에서 명령어를 통해 커밋을 하겠습니다. 우선은 원격 컴퓨터에 로그인하고 git를 설치합니다. 

$ sudo apt install git 


커밋에 정보를 남기기 위해 config에 name과 mail을 입력합니다. email은 github에 입력된 email을 입력해야 잔디가 심어집니다.

$ git config --global user.name [userName]

$ git config --global user.email [userEmail]



2. 커밋(commit) 생성


우선 로컬 저장소를 생성해보도록 하겠습니다. 작업 트리를 생성하고 이동합니다.

$ mkdir -p ~/git/example && cd ~/git/example 


로컬 저장소는 init 명령어를 통해 생성할 수 있습니다.

$ git init 


로컬 저장소가 생성되면 .git 폴더가 생성됩니다. 이제 임의의 파일을 하나 생성하고 임의의 내용을 작성합니다.

$ touch test.txt && echo "임의의 내용 작성 1" > test.txt 


img02 


커밋을 생성하기 위해서는 add 명령어를 통해 인덱스에 파일을 등록해야 합니다.

$ git add test.txt 


인덱스에 등록된 파일을 확인하려면 status 명령어를 사용합니다.

$ git status 


img03


이제 commit 명령어를 통해 변경 상태를 기록합니다. 이때 -m 옵션을 통해 커밋 메시지를 작성해야만 합니다.

$ git commit -m "test.txt 파일 생성" 


커밋 로그를 확인하고 싶다면 log 명령어를 입력해보세요.

$ git log 


img04


스테이징과 커밋을 한번에 해결하려면 commit 명령어에 -am 옵션을 주면 됩니다.

$ git commit -am "test.txt 파일 생성" 



3. 푸시(push)와 풀(pull)


이번에는 방금 생성한 로컬 저장소를 원격 저장소에 push 해보겠습니다. 그전에 ssh 인증키를 만들어서 github에 등록합시다.

$ ssh-keygen -t ed25519 -C "이메일 주소" 


passphrase를 입력하라고 뜨면 암호를 입력해주거나 그냥 엔터를 눌러주시면 됩니다.


인증키가 생생되면 다음 명령어로 개인키를 확인합니다.

$ cat ~/.ssh/id_ed25519.pub 


터미널에 뜬 개인키를 복사하고 github에서 Settings > SSH and GPG keys > New SSH Key로 이동하여 개인키를 등록해줍니다.


이제 github에 접속하여 원격 저장소를 하나 생성합니다.


저장소 주소를 복사한 후 remote add명령어를 통해 원격 저장소를 추가해줄 수 있습니다.

$ git remote add origin git@github.com:[userName]/[repository].git 


원격 저장소가 추가되었는지 확인하기 위해서는 remote 명령어에 -v 옵션을 주면 됩니다.

$ git remote -v 


이제 push 명령어를 통해 로컬 저장소의 변경 내역을 원격 저장소에 반영하도록 하겠습니다.

$ git push origin main 


github의 원격 저장소에 접속하면 test.txt 파일이 저장된 것을 확인할 수 있습니다.


이번에는 원격 저장소를 clone을 통해 복사하여 example2 작업 트리에 로컬 저장소를 만들어보겠습니다. 우선 example2 작업 트리를 만들고 해당 폴더로 이동합니다.

$ mkdir -p ~/git/example2 && cd ~/git/example2 


clone 명령어를 통해 원격 저장소를 복사합니다.

$ git clone git@github.com:[userName]/[repository].git . 


test.txt 파일을 수정해봅시다.

$ echo "내용 추가" >> test.txt 


img05 


test.txt 파일을 스테이징 하여 커밋하고 원격 저장소에 푸시해줍시다.

$ git commit -am "내용 추가"

$ git push origin main


example 작업트리로 이동하여 test.txt 파일의 내용을 확인합시다.

$ cd ~/git/example && cat test.txt 


아직 원격 저장소와 동기화되지 않았습니다. pull 명령어로 원격 저장소의 커밋 내역을 로컬 저장소에 합치고 test.txt 내용을 확인하면 동기화가 된 것을 알 수 있습니다.

$ git pull origin main && cat test.txt 

#commit# push# pull
댓글
자동등록방지
(자동등록방지 숫자를 입력해 주세요)