git workflow

rkdghwnd·2023년 6월 13일
0

버전 관리의 필요성

프로젝트를 하다보면 추가적으로 수정사항이 생기고 수정사항을 다시 이전 상태로 되돌리거나 여러 유형의 수정본을 만든뒤 비교하는 작업, 협업을 하면서 나의 코드와 협업자의 코드를 합쳐 이때 수정사항이 생기는 등등... 자칫하면 복잡해질수 있는 작업들이 생겨나게 된다. 이때는 프로젝트 파일에 대해 백업을 해두고 관리하는 것이 효율적인 방법이다.

가장 대중적인 버전관리 시스템 GIT

GIT은 소스코드에 수정사항이 생길때 마다 스냅샷을 찍어 관리할수 있도록 해준다. 이런 스냅샷을 만들어주는 작업을 commit 이라고 하는데 나 뿐만 아니라 다른사람또한 commit 기록을 보며 수정사항을 파악할수 있어 개발하는데 유용하다.

GIT과 GitHub

GIT은 소스코드를 기록하여 관리할 수 있는 오프라인 기반 시스템이라면 GitHub는 GIT을 온라인에서 저장하고 관리,공유 할 수 있게해주는 클라우스 기반 서비스이다. 코드를 공유하는것에 더불어 서로의 의견을 공유하고 온라인상으로 협업이 가능하며, 많은 오픈 소스 프로젝트가 GitHub에서 진행되고 잇다.

Ubuntu에서 GIT설치하기

sudo apt install git

설치후 버전을 확인하고 싶다면

git --version

기본적인 환경설정
사용자 이름과 이메일주소를 입력한다.(추후 커밋내역에 기록됨)

git config --global user.name "사용자 이름"
git config --global user.email "이메일 주소"

기본 코드 에디터를 바꾸고 싶다면 아래 명령어를 입력한다.

git config --global core.editor nano

기본 기능들

fork : 다른 계정의 Remote Repository를 가져 올 때

git clone : 원격 Repository를 내 로컬에서 이용할 수 있도록 복사

git clone [Repository 주소]

git status : staging area와 untracked file 목록 확인하기

git status

git restore : 아직 staged 되지 않은 변경 사항 폐기하기

git restore [파일명]

git add : untracked file을 staging area로 추가하기

git add [파일명]

git commit : Local Repository에 staging area파일 올리기

git commit -m '커밋 메시지'

git reset : Local에서 commit한 내용을 취소할 때

git reset HEAD^

HEAD^는 맨 앞의 commit된 기록을 삭제하는 것이다.
HEAD^^ 2번째 commit된 기록 삭제
HEAD^^^ 3번째 commit된 기록 삭제 ...
HEAD~1 ,HEAD~2, HEAD~3 이런식으로도 사용이 가능하다.

git push : Local에서 Remote로 업로드하기

git push [origin] [branch]

git log : commit된 내역 확인하기

git log

Pull Request : 내가 Pushl한 변경 사항에 대해 다른 사람에게 알리는것

git init : 내가 가지고 있는 디렉터리를 Git Repository로 설정하기

git init

remote add origin : remote repository에 내 local repository를 연결하기

git remote add origin [repository 주소]

remote add pair : 협업자(pair)와의 Remote repository 연결하기

git remote add pair [협업자 repository 주소]

remote -v : local과 연결된 remote 목록 확인하기

git remote -v

git pull [shortname] [branch] : shorname의 branch 내용을 local로 가져옴

git pull [shortname] [branch]
profile
rkdghwnd's dev story

0개의 댓글