분석하고싶은코코

GITHUB 사용 기초 개념 정리 본문

Github

GITHUB 사용 기초 개념 정리

코코로코코 2022. 12. 4. 20:47
반응형

GIT 기본 용어

 

Repository

 : 소스코드가 저장되어 있는 여러 Branch가 모여있는 물리적 공간

- Local : 사용중인 PC. [W/D -> Index(Stage) -> HEAD] 3단계로 구성

- Remote

 

Checkout

: 특정 시점이나 Branch로 이동

: Branch, Commit, Tag 이동 가능

 

Stage / Commit / Tag 

Stage-  작업 내용이 올라가는 임시저장영역. 작업한 내용중 commit에 반영할 파일만 선별하여 commit 수행 가능

Commit - 작업 내용을 Local에 저장하는 과정(commit은 아끼지 말자!)

Tag - Commit위치를 쉽게 찾아가기 위한 네임택. (Commit ID를 통해서 이동이 가능하지만 Tag로 간편히 이동 가능)

 

Push / Pull

Push - Local에서 작업한 내용중 Remote에 적용되지 않은 부분을 Remote에 적용하는 과정. 다른 작업자도 영향 받음

Pull - Remote에 있는 내용중 Local에 적용. 다른 작업자가 변경한 내용을 가져오는 과정.

(Push할 때 Conflict가 났을 경우 Pull하여 Conflict해결 후 Push)

 

Branch / Merge

Branch - 특정 시점에서 분기하여 새로운 commit을 쌓을 수 있음

Master(Main) Branch에서 분기하여 각각 개발이 진행되고 최종적으로 Master(Main) Branch로 Merger함

Merge - Branch반대 과정. 분기된 Branch를 합치는 것.

 


주요 사용 명령어

mkdir [폴더 명] - 디렉토리(폴더) 생성

touch [파일] - 빈 파일 생성

git init - 새로 만든 디렉토리에서 Git 초기화 선언 (ls -all 실행하여 git관련 파일 확인 가능)

git status - Git에 존재하는 파일 확인

git add [파일] - W/D에서 Index(Stage)에 추가

git commit -m ["메세지"] [파일] - Index(Stage)에서 HEAD에 반영

git branch [-r/-a]

  : 기본 Local branch 조회

  : -r - Remote branch 조회 / -a - Local/Remote 모두 조회

git branch [브랜치 명] - 브랜치 생성

git checkout [브랜치 명] - 브랜치 이동

git checkout -b [브랜치 명] - 브랜치 생성 후 이동(브랜치 명이 이미 있으면 실행 불가)

 

삭제

git branch -d [브랜치 명] - Local 브랜치 삭제

git push origin --delete [브랜치 명] - Remote 브랜치 삭제

 

 

LOCAL - REMOTE 연결

git remote add origin https://<username>:<token>@githbu.com/<repository>.git

: Local, Remote 연결

 

 

LOCAL <-> REMOTE

git push origin [branch]

: Local -> Remote

git pull origin [branch]

: Remote -> Local

git clone https://<username>:<token>@githbu.com/<repository>.git

 

 

LOG

git log - branch별 이력을 볼 수 있음

 

 

Diff

git diff [브랜치1] [브랜치2] - 브랜치1과 브랜치2 비교 조회

git diff [Commithash 1] [Commithash 2] - commit간 비교 조회

git diff HEAD HEAD^ - 마지막과 이전 commit 비교 조회

git diff HEAD - 마지막 commit과 현재 수정 사항 비교 조회

 

 

Merge/Conflict

git merge [브랜치 명] - 현재 브랜치 합칠 브랜치 선택

Conflict - merge도 중에 충돌 or Push/Pull 과정에서 충돌. 최종적으로 합쳐서 만들 코드가 공통으로 수정된 부분이 있어서 충돌 발생

git mergetool - conflict발생 후 실행시 충돌 파일이 순서대로 열림. 둘 중 최종코드로 수정 후 저장

git add [최종 수정 저장 파일] + git commit - conflict 해제

 

 

Tag

git tag - Tag 목록 조회

git show [태그 명] - 태그 상세 조회

git tag [태그 명] - 현재 버전에 Tag 설정

git tag [태그 명] [commithash] - 특정 버전에 Tag 설정

git push origin [태그 명] - Tag를 Remote에 적용

git tage --delete [태그명] - Tag 삭제

git push --delete origin [태그 명] : Tag 삭제 Remote 적용

 

 

반응형

'Github' 카테고리의 다른 글

EC2, Github 연결하기  (0) 2023.06.29