git/git hub

FAST FOX·2023년 3월 9일
0

학습일지

목록 보기
17/39
post-custom-banner

로컬 Git 리포지토리란?

Git에서 코드를 저장하는 공간을 리포지토리라고 합니다. 리포지토리는 자신의 컴퓨터의 작업 공간(local)에 위치한 로컬 Git 리포지토리와, Github 등의 원격(remote) 공간에 위치한 원격 리포지토리로 구분할 수 있습니다.

1. 리포지토리 생성

파일의 변경사항을 Git이 관리하도록 해주는 명령어.
git init을 원하는 폴더에 입력하면 Git리포지토리가 생성된다.

2. 변경사항 관리

이제 로컬 환경의 디렉토리에 Git리포지토리가 생성되었기 때문에 변경사항을 Git으로 관리할 수 있다. 각각의 코드를 작성한 후, 이 코드를 하나로 모아두는 과정을 거치게 되는데 이 공간을 staging area라고 한다.
git add를 사용하면 로컬의 untracked file을 staging area로 추가할 수 있다.

git add index.html
git add style.css

 또는
 
git add . //변경이 감지된 모든 파일을 한 번에 추가한다.

3. 변경사항 저장 확인

git status를 사용하면 staging area에 저장 되었는지 확인할 수 있다.
변경사항이 있지만 저장이 안된 파일은 빨간색으로, 정상적으로 저장이 된 파일은 초록색으로 표시된다.

4. git commit

staging area에 있는 파일은 commit이 가능하다.
staging area는 용도에 맞게 물건들을 정리해둔 무빙박스와 같고, commit은 이 무빙박스에 어떤 용도의 물건인지 판별할 수 있는 코멘트를 라벨링하는 동작을 말한다.

늘 commit하기 전에 git status로 staging area의 상태를 확인하는 것이 좋다. commit하고자 하는 파일 모두가 staging area에 있다면 commit을 해준다.

git commit -m"feat: 인스타 게시글 조회 페이지네이션"

5. 커밋 로그를 확인

git log

6. 현재 브랜치를 확인

git branch

7. 커밋한 기록을 되돌리기

git reset HEAD^

올바른 commit방법

  1. commit은 작은 단위로 자주 하자
  • 코드를 잘못 적은 경우에 이전 기록을 더 쉽게 복원할 수 있다.
  • 누가 해당 코드를 수정했는지 쉽게 파악할 수 있다.
  1. commit 메시지는 짧고 간결하게 사실적으로 작성한다.

원격 Git 리포지토리란??

원격 Git 리포지토리(줄여서 원격 리포지토리)는 자신의 컴퓨터(로컬 환경) 작업 공간에 위치하지 않는 Git 리포지토리다. 개발에 대해서 검색해보면 쉽게 접할 수 있는 Github의 여러 리포지토리가 대표적인 원격 리포지토리이다. 공개된 Git 리포지토리의 경우, 여러 사람이 함께 공유 가능하다.

과정

  1. Github에서 원격 리포지토리를 생성한다.
  2. 로컬 리포지토리에 원격 리포지토리 git url을 등록한다.( git remote add )
  3. 로컬 Git repository에 기록한 내역을 원격 Git repository에 push한다. ( git push )

새로운 repository 생성

Github 홈페이지 왼쪽 상단의 New버튼을 클릭한다.

  • 이름은 가능한 로컬 리포지토리 디렉토리 이름과 같게한다.
  • 오픈소스가 아니고 공개하지 않는다면 Private를 체크한다.
  • Owner가 아니라면 자신의 아이디를 재확인한다.

원격 리포지토리 다루기

git remote

원격 리포지토리를 다루기 위한 git 명려어이다.

git remote add

로컬 리포지토리에 원격 리포지토리 주소를 등록하는 명령어이다. 쉽게 원격 리포지토리를 파악하기 위해 이름을 지정해줄 수 있고, 이름 뒤에 원격 리포지토리 주소를 적으면 작동한다.

git remote add <name><url>

//<name>: 앞으로 로컬 리포지토리에서 원격 리포지토리 주소를 대신할 이름 (ex: origin)
//<URL>: 원격 리포지토리 주소 (ex: git@github.com:codestates-seb/agora-states-fe.git )

이후 git remote -v명령어로 원격 리포지토리가 잘 연결되었는지 확인한다.

git remote -v

리모트 리포지토리가 잘 연결되었는지 확인할 때 사용한다.

git push

git push는 로컬 리포지토리에 기록한 내역을 원격 리포지토리로 옮기는 작업이다.

git push <remote> <branch>

<remote>에는 원격 리포지토리의 이름을 입력하고, <branch>에는 브랜치 이름을 입력한다.
예를 들어, 로컬 리포지토리의 기록을 원격 리포지토리 origin의 main 브랜치로 push한다면 git push origin main을 해준다.

git pull <remote> <branch>

리모트 리포지터리의 작업물을 내 로컬로 받아올 때 사용한다.
특정 commit 시점으로부터 각기 다른 commit을 만들면, 기본적으로 자동으로 merge가된다.


Fork란??

포크는 기존의 잘 만들어진 프로젝트에 변화를 주거나 새로운 것을 시도를 해보기 위해 리포지토리를 복사하는 것을 의미한다. 기존의 프로젝트에 영향을 미치지 않기 때문에 서로의 프로젝트에 영향을 주지 않는다. 또한 라이센스까지 함께 복사가 되기 때문에, 공개되어 있고 라이센스 명시가 제대로 되어있는 프로젝트는 라이센스만 잘 지키면 포크해도 문제가 없다. 보통 Github 원격 리포지토리를 자신의 Github 원격 리포지토리로 포크한다

profile
준비하는 개발자
post-custom-banner

0개의 댓글