티스토리 뷰

코드스테이츠(SEB_FE_42)

[CLI] GIT 사용

codeyun2 2022. 11. 14. 11:58

Local Repository(로컬저장소)

Remote Repository(원격저장소)

 

push & pull request

: public 프로젝트에 버그 수정, 기능 추가 요청

pull

: public 프로젝트에서 새로 업데이트된 내용을 받음

 

깃헙 푸시 과정 요약

(init > )add > commit > (remote 확인(-v) >) push

 

 

1. 깃 저장소 만들기

git init

: 코드를 저장할 디렉토리 내부에 GIT repository를 생성

ls -al를 입력하여 숨겨진 git폴더를 확인할 수 있음

 

2. 깃 저장소(staging area)에 파일 추가하기

git add <파일명/경로명>

: 코드가 변경된, 해당 파일 혹은 해당 위치에 있는 모든 파일을 staging area에 추가

 

git status

: staging area에 추가된 파일과 변경사항이 있는데 추가되지 않은 파일 확인

git reset 파일

: staging area에서 제거

git restore 파일

: 변경사항 폐기(discard change)

 

3. 커밋하기

git commit -m '기록할 메세지'

: local git repository에 내 코드를 기록, 커밋이 완료되면 staging area는 빈 상태가 됨

 

git log

: 깃 커밋로그 확인

git reset

: 커밋 되돌리기

local이거나 원격저장소가 공유되지 않은 상태일 때 가능

git reset HEAD^ // 바로 앞으로 돌아감
git reset HEAD~2 // 두 단계 이전으로 돌아감

git reset --hard // 돌아간 커밋 이후 변경이력 삭제, 코드도 삭제
git reset --mixed // 변경이력 삭제, 코드는 남아있음 unstage(다시 add해줘야함)
git reset --soft // 변경이력 삭제, 코드는 남아있음 stage
  • commit은 작은 단위로 자주하는 것이 좋음
    • 코드를 잘못 수정한 경우 이전 기록을 더 쉽게 복원할 수 있음
    • 해당 코드를 누가 수정했는지 쉽게 파악
    • merge, rebase 사용을 편리하게 함
  • commit message는 짧고 간결, 사실적으로 작성(효율적이게 수정처럼 모호한 표현X 사실 여부 판단 가능하게)
    • 정확한 기술 용어 사용

 

4. 푸시 전 원격 저장소 연결/확인하기

① 새로운 원격저장소(Repository)에 푸시하고 싶은 경우

github에서 Remote Repository 생성(왼쪽 상단 New)

새로운 레퍼지토리 생성

git remote add <name> <url>

: 로컬저장소와 원격저장소를 연결

name = 원격저장소를 지칭할 이름

url = 원격저장소url

git branch -M <브랜치이름>

: 브랜치 생성

 

② 기존 원격저장소에 푸시하고 싶은 경우(fork한 경우)

git remote -v

: 연결된 원격저장소 확인

 

* fork

: 기존에 잘 만들어진 프로젝트(public)에 변화를 주거나 새로운 것을 시도해보기 위해 repository를 복사하는 것(기존 원격 저장소> 내 원격 저장소)

기존 프로젝트에 영향을 미치지 않음

(라이센스도 함께 복사되기 때문에 공개되어 있고 라이센스 명시가 되어있는 프로젝트의 경우 라이센스를 지키면 문제 없음)

 

5. 원격저장소에 푸시하기

git push <name> <branch>

: 로컬 저장소에 기록한 커밋을 원격저장소에 반영

  • name 원격저장소 이름
  • branch 커밋을 저장할 브랜치(기본 main)

 

 

 

 

2022.11.14

S1U12 진행중

댓글
공지사항