BlueHarmel
BlueHarmel Devlog
BlueHarmel
전체 방문자
오늘
어제

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (330)
    • Book (11)
    • Dev (29)
      • ArtCon (0)
      • ESTsoft 오르미 (29)
    • Study (290)
      • Web (18)
      • AWS (2)
      • 알고리즘 (1)
      • GameDev (1)
      • 정보처리기사 (201)
      • English (1)
      • Mathematics (24)
      • 머신러닝 (7)
      • 딥러닝 (10)
      • 네트워크 보안 (5)
      • R (4)
      • 컴퓨터 네트워크 (6)
      • 데이터베이스 (8)
      • 데이터 통신 (0)
      • 운영체제 (2)
      • TIL (0)
    • Project (0)
      • 개인 (0)
      • 단체 (0)

인기 글

hELLO · Designed By 정상우.
BlueHarmel

BlueHarmel Devlog

Dev/ESTsoft 오르미

GIT & GITHUB

2024. 2. 22. 09:38

1. Git/GitHub 이란?

  • Git : 버전관리 시스템의 한 종류
    • 이전 코드의 히스토리를 볼 수 있어서 이슈트래킹을 할 수 있음
    • 대부분의 IDE에서 git을 연동할 수 있게 제공
    • 본인의 계정인 GitHub과 연동할 수 있음
    • 코드리뷰 가능
  • Github : Git을 기반으로 온라인으로 서비스하는 형태
    • 내가 로컬 저장소에서 작업한 것을 원격 저장소로 올리거나(push)
    • 원격 저장소에서 최신버전을 내 작업 공간으로 당겨온다(pull)
    • 다른사람들에게 내 작업물을 공유할 수 있다!

2. Git 의 작동 구조 및 기초 명령어

  • 명령어
    • git fetch : 로컬 저장소에서 원격 저장소의 변경된 내역(커밋)들만 가져온다.
    • git pull (fetch + merge) : 원격 저장소의 변경사항을 로컬 저장소로 가져오고, 작업하는 로컬 브랜치(working directory)로 merge까지 진행
    • git clone : 원격 저장소 전체를 복제해 로컬 저장소에 가져온다.
    • git add : working directory의 변경사항을 스테이지에 추가
    • git commit : 스테이지에 있는 변경사항을 로컬저장소에 영구적으로 기록
    • git push : 로컬 저장소에 있는 변경사항을 원격 저장소에 업로드
    • git status : working directory와 스테이지의 현재 상태를 보여줌
    • git diff : 변경된 파일의 실제 변경 내용을 보여준다
    • git log : 커밋 로그를 확인

3. branch 다루기

  • branch 생성 : git branch [생성할 브랜치명]
    • branch 삭제 : git branch -d [삭제할 브랜치명]
    • branch 강제 삭제 : git branch -D [삭제할 브랜치명]
    • branch 이름 바꾸기 : git branch -m [기존 브랜치명] [새 브랜치명]
  • branch 이동 : git switch [이동할 브랜치명]
    • 브랜치 생성과 동시에 이동 : git switch -c [생성할 브랜치명]
  • Merge : 다른 브랜치의 내용을 현재 브랜치로 가져와 합치는 명령어
  • Commit : 현재 변경된 작업을 저장소에 저장하는 작업

4. git reset / revert

  • reset : 특정 시점까지의 "모든" commit기록을 되돌아가며 삭제
    • git reset —soft [돌아갈 커밋 해시] : 커밋은 취소되지만 해당 변경 사항은 스테이지에 남아있음
    • git reset —mixed [돌아갈 커밋 해시] : 커밋은 취소되고 해당 변경사항은 working directory에 남아있다.
    • git reset —hard [돌아갈 커밋 해시] : 커밋은 취소되고 해당 변경 사항은 모두 삭제
  • revert : 특정 시점의 실행만 역으로 실행해 새로운 커밋기록을 남긴다.
    • 같은 파일의 같은 위치에 변경이 있을 경우, 충돌이 일어날 수 있다.
      • <<HEAD 부터 == 까지는 현재 저장소에 작성되어있는 소스코드를 의미
      • == 부터 >> parent of xxxx 까지는 merge 대상인 브랜치에 작성되어있는 소스코드를 의미
    • git revert —no-commit [커밋 해시] : 자동으로 커밋을 만들지 않고 변경 사항을 스테이징 영역에만 추가한다.
    • git revert —continue : 충돌이나 다른 이슈를 해결하고 사용하면, 계속해서 revert 작업을 진행
    • git revert —skip : 충돌이나 다른 이슈를 무시하고 다음 커밋으로 넘어감
    • git revert —abort : revert 작업을 중단하고 이전상태로 되돌림

5. branch 합치기 - merge, rebase, 충돌해결

  • git merge : 두 브랜치를 한 커밋에 이어 붙인다.
    • 브랜치 사용내역을 남길 필요가 있을 때 적합한 방식
    • git merge [합칠 브랜치명] : 현재 브랜치로 해당 브랜치를 병합
  • git rebase : 브랜치를 다른 브랜치에 이어붙인다.
    • 한줄로 정리된 내역을 원할 때 적합
    • git rebase [기준이 될 브랜치명] : 현재 브랜치를 기준 브랜치에 이어붙임

6. 오늘의 소감 / 떠오르는 생각 :

  • git 명령어를 제대로 공부 해본적이 없어서 revert, reset에 대해 막연한 두려움이 있었는데 이번을 계기로 git을 제대로 활용할 수 있어 좋았다.


Uploaded by N2T

'Dev > ESTsoft 오르미' 카테고리의 다른 글

CSS2 (Position & Flex)  (0) 2024.02.22
CSS1 (기초 & CSS Box Model)  (0) 2024.02.22
HTML_2 (form, table)  (1) 2024.02.22
HTML_1 (기본개념)  (0) 2024.02.22
네트워크 기초  (0) 2024.02.22
    BlueHarmel
    BlueHarmel
    Interested in Mathematics, Foreign Language, and "Programming"

    티스토리툴바