회고록/Git

Git 사용법 & 커맨드 (Clone,Remote,Pull,Add+Commit,Push, Merge , 깃허브 Merge).

sehunbang 2024. 1. 9. 18:58

 

Git 깃 기본 설명

Git은 컴퓨터 프로그래머들을 위한 협업툴로. 큰 프로젝트에 개발자 들 이 함께 작업하고 모두가 코드를 변경할수 있게 해준다
Git에 메인 기능:
버전 관리: Git은 프로젝트에서 과거로 돌아갈 수 있게 해줍니다. 그래서 뭔가 잘못된 경우 변경 사항을 쉽게 취소하고 더 이전의 안전한 버전으로 돌아갈 수 있어요.
분산 개발: Git은 많은 사람들이 동시에 프로젝트에서 작업할 수 있도록 도와줍니다. 각 사람은 자신만의 프로젝트 사본(branch)을 가지고 있고, Git은 모든 변경 사항을 원활하게 병합하는 데 도움을 줍니다.
브랜치 및 병합: Git을 사용하면 프로젝트를 망치지 않고 새로운 아이디어를 시도할 수 있다. 실험할 수 있는 별도의 공간을 만들고, 잘 작동하면 이를 메인 프로젝트로 가져올 수 있어요.
선택적 변경: Git은 프로젝트에 포함할 변경 사항을 여러분이 결정할 수 있게 해줍니다. 코드 변경을 원하는 것만 추가하고 나머지는 놔둘 수 있어요.
빠르고 효율적: Git은 정말 빠르게 동작하며 시간을 낭비하지 않아요. 빠르고 똑똑하게 설계되어 개발자들이 자신의 작업을 쉽게 공유하고 원활하게 협업할 수 있게 해줍니다.
오픈 소스: Git은 오픈 소스이며. 누구나 무료로 사용할 수 있으며, 이로 인해 많은 유용한 도구와 서비스가 만들어지고 있어요.

사전 준비

GitHub 계정 연동하기

git config --global user.name "user_name"

git config --global user.email "user_email"

(git config --list 로 확인)

 

Git 사용방법

Git init

git 을 사용할 폴더안 에서 선언 합니다. ( . git 투명파일이 생김)

(* 원래는 안보이는 파일입니다)

Git remote

git remote 를 추가한다

git remote add 리모트이름 url

 

git remote 로 저장된 remote 확인

 

Git clone

git clone url

github 에 있는 모든 파일을 가져옵니다.

 

Git pull

업데이트된 파일들은 가져옵니다 ( 자주 해주는게 좋고 주로 작업 시작할때 + push 하기 전에  해주는 게 좋다).

git pull 리모트이름  브랜치이름

 

Git Branch & Git Checkout(혹은 Git switch)

git switch  (혹은 git Checkout  ) 브랜치이름

으로 브랜치 변경

새로운 브랜치 만들시

git switch -c (혹은 git Checkout -b ) 새로운브랜치이름

Git Branch 로 정검

Git add & Git commit 

add 로 업데이트 한 파일을 넣고 (업로드 할 파일들), git commit -m 으로 메시지 남긴다.

(git add * 혹은 git add  .  은 모든 파일/폴더를 넣는다).

git add 파일이름

git commit -m "메시지"

Git push

 

Git Merge (이 방법 보다는 github 에서 code review 후 pull request + merge 하는게 권장된다)

 

우선은 branch 를 (default)브랜치 인 브랜치로 변경해준다 (원래는 새 branch 만들어서 default 로 해야 하지만 우선 지금은 main 이 default 브랜치 이).

git switch  (혹은 git Checkout  ) 브랜치이름

원하고 싶은 branch 를 git merge 브랜치이름

 

GitHub 에서 Merge 하기

다른 branch 에서 push 하면 뜸 (안뜰 때는 Pull requests 에서 수동으로).

 

변경점 확인 

코드 리뷰 하기

Add reivew comment 로 리뷰 적기

 

다 적었으면 Finish your review 로 종료.

commit 이랑 pull request 하기

 

Merge request 하기 (default branch 로 업데이트)