[신한투자증권 프로디지털아카데미] Github

2025. 5. 6. 13:51·신한투자증권/프로 디지털 아카데미

 

 

 

신한투자증권 프로 디지털 아카데미 (프디아) 6기 교육 중 배운 내용을 작성한 글입니다

Day 3 (20250424) - Github 및 DevOps 환경에 대한 이해 

 

 


 

클라우드 강의 전 해주신 강의는 Github 및 DevOps 환경에 대한 이해 강의였다.

깃허브에 대해서 설명해주시고, 깃허브 브랜치 전략이랑 명령어에 대해서 설명해주시고

Readme 만들어서 서로 소개하는 시간을 가졌다.

 

 

https://github.com/minju00

 

minju00 - Overview

minju00 has 8 repositories available. Follow their code on GitHub.

github.com

내 깃허브 리드미

 

앞으로 계속 몇 개월 동안 강의를 들을텐데 하루에 하나씩만 기억나고 생각나는 것만 기록해둬도 성공이다

 

 

좋은 개발자들은 기술이 어떻게 동작하는지 알고 있다.

훌륭한 개발자들은 왜 그렇게 동작하는지를 알고 있다.

 

 


 Git & Github 기본 개념

 

  • Git은 분산 버전 관리 시스템이며 GitHub은 Git을 관리하는 웹 서비스이다.
  • Git은 내 컴퓨터에 설치되는 SW이며, GitHub은 웹 서비스이다.

 

Git기반의 웹 서비스는 GitHub 뿐만 아니라 GitLab 등 다양한 소프트웨어가 있다.

내 컴퓨터에서 작성한 프로젝트를 원격 저장소에 저장해두고,

만약 내 컴퓨터의 프로젝트가 손상되거나 다른 컴퓨터에서 코드를 가져오고 싶을 때는 원격 저장소에서 바로 가져올 수 있다.

 코드 뿐만 아니라 코드의 변경 내역까지 모두 가져올 수 있기 때문에 Git이 "버전 관리 도구"라고 불린다

 

 


 Git

 

git init  -> 입력하면 해당 폴더 기준으로 .git(로컬 저장소)가 생성된다. 로컬 저장소에는 버전 정보, 원격 저장소 주소가 저장됨

git add .  -> 변경한 파일 목록 중 스테이지에 올리기 원하느 파일 선택 (파일 전체 올리고 싶은 경우에는 git add .)

git commit  -> (git commit -m "메세지 입력" ) 

 

 

 

 

 






git pull 









git add .








git commit -m "메세지 내용"







git push



 

git status ->  파일 상태 확인 

 

파일의 상태에 따라 Untracked 와 Tracked 로 분류됨
1. Untracked(관리 대상이 아님) : 파일 생성 후 한번도 git add하지 않은 상태를 말합니다.
2. Tracked(관리 대상임) : git이 관리하는 파일임을 의미합니다.
Unmodified : 최근의 커밋과 비교했을 때 바뀐 내용이 없는 상태
Modified : 최근 커밋과 비교했을 때 바뀐 내용이 있는 상태

Staged : 파일이 수정되고 나서 스테이지 공간에 올라와 있는 상태이며, git add 후의 상태

 

 

git diff -> add 하기 전 최근 commit 한 내용과 현재 폴더의 변경 사항 확인 가능

git log -> commit 히스토리 조회

git log —all —oneline

 

저장소에 무시할 파일은 .gitignore 사용하여 제외할 파일 추가 가능

 

 

 


Github

 

git pull origin main -> 원격 저장소에 업데이트 된 데이터를 가져오고 병합할 때 사용

  • 로컬 main과 원격 main을 다른 브랜치로 보고 병합 ( git pull --no-rebase )
  • 시간상 순서대로 병합 ( git pull --rebase )

 

Branch

브랜치 : 독립적인 작업을 할 수 있는 공간

메인 작업 공간의 코드를 복사한 개별적인 작업 공간을 만들고 거기서 각각의 기능 개발을 진행하고 그 작업이 완료된 후 코드를 합치면 됨

 

git branch -> 현재 브랜치 목록과 현재 브랜치 확인

git branch Gary (Gary라는 브랜치를 만들기)

git checkout Gary (Gary 브랜치로 이동) 

 

git switch Gary (브랜치 변경)

git switch -c Gary (브랜치 새로 만들어서 변경)

 

switch - 브랜치 변경

restore - 파일의 수정 내용 복원과 add 를 통해 스테이지에 올린 파일 빼낼 때 사용

checkout - 브랜치 변경 또는 작업 트리 파일 복원

 

git branch -D <삭제할 브랜치 명>  브랜치 삭제

git reflog 모든 참조 내역 확인 가능

git checkout -b <삭제한 브랜치명> <커밋 해시값> : 브랜치 복구 가능

 

HEAD : 현재 내가 위치한 곳

 

 

git merge : 브랜치 합치기

 

ex ) coupon 브랜치 코드를 main 브랜치에 합치고 싶다.

기준이 되는 브랜치로 이동(main)
git switch main
git merge coupon
(똑같은 파일 수정하면 충돌(conflict) 나는데 이건 따로 너가 해결해야돼.)

 

conflict 해결법

1. 원하는 코드만 남기고
2. git add
3. git commit
 
 
 
 

Fork

브랜치와 포크는 두가지 모두 코드를 협업하기 위해 분기점을 나누는 방식이지만 특성이 다르므로 프로젝트에 맞게 사용해야함

 

브랜치 포크
하나의 저장소에서 브랜치를 나누어 쓴다. 여러 저장소를 만들고 브랜치를 만들어 사용한다.
코드 커밋 이력을 쉽게 볼 수 있다. 원본 저장소에 영향을 미치지 않으므로 자유롭게 수정할 수 있다.
소수인원 작업 시사용하는 것이 좋다. 원본 저장소의 이력을 보려면 주소를 추가해야 한다.
  불특정 다수의 사람의 작업 시 사용하는 것이 좋다.

 

 

기타 명령어

 

명령어 설명
환경설정 - 모든 로컬 저장소에 적용할 사용자 정보 설정
git config --global user.name "[name]" 자신이 생성한 커밋에 들어갈 이름 설정
git config --global user.email "[email address]' 자신이 생성한 커밋에 들어갈 이메일 주소 설정
저장소 생성하기 - 새로운 저장소를 만들거나, 다른 저장소의 URL을 이용해 저장소 복사
git init [project-name] 새로운 로컬 저장소 생성하고 이름 정함
git clone [url] 기존 프로젝트의 모든 커밋 내역을 가져와 저장소 만듦
파일 이름 바꾸기 - 버전 관리 중인 파일을 옮기거나 삭제
git rm [file] 워킹 디렉토리에 있는 파일을 제거하고 삭제한 내역을 stage
git rm --cached [file] 현재 파일은 그대로 두고 버전 관리 체계에서만 제거
git mv [file-original] [file-renamed] 파일명을 변강하고 해당 내역을 stage
변경점 일부분을 저장하기 - 불완전한 변경 사항을 임시로 저장하거나 복원
git stash 버전 관리 중인 모든 파일의 변경점을 임시로 저장
git stash pop 가장 최근에 임시 저장한 내용을 복원
git stash list 임시 저장된 모든 변경점의 목록을 보여줌
git stash drop 가장 최근에 임시 저장한 내용 삭제

 

 
 

깃 명령어 정리

 
 
 
 

 +

git checkout의 기능들

 


 

출처 + 

 

 

알아서 잘 딱 깔끔하고 센스있게 정리하는 GitHub 핵심 개념 | Notion

들어가며

paullabworkspace.notion.site

 

 

Git 브랜치 배우기 사이트

 

 

Learn Git Branching

An interactive Git visualization tool to educate and challenge!

learngitbranching.js.org

 

 

 

 

You Can Understand Git & Git Commands with These Diagrams

Basic Commands

medium.com

 

 

git conflict

 

git conflict 에 대한 이해

merge : 일반적인 병합

rebase : 작업의 순서를 변경하는 병합

cherry-pick : 특정 버전의 변경 사항만 가져오는 병합

revert : 특정 버전의 취소한 내용만 가져오는 병합

반응형

'신한투자증권 > 프로 디지털 아카데미' 카테고리의 다른 글

[신한투자증권 프로디지털아카데미] ICT 아키텍처의 이해  (0) 2025.05.12
[신한투자증권 프로디지털아카데미] DevOps  (4) 2025.05.06
[신한투자증권 프로디지털아카데미] 금융업의 데이터 분석  (0) 2025.05.05
'신한투자증권/프로 디지털 아카데미' 카테고리의 다른 글
  • [신한투자증권 프로디지털아카데미] AWS 실습 - AWS 인스턴스 만들기
  • [신한투자증권 프로디지털아카데미] ICT 아키텍처의 이해
  • [신한투자증권 프로디지털아카데미] DevOps
  • [신한투자증권 프로디지털아카데미] 금융업의 데이터 분석
쇼파죠하
쇼파죠하
소프트웨어학과 코린이 성장기
  • 쇼파죠하
    코린이의 성장기
    쇼파죠하
  • 전체
    오늘
    어제
    • 분류 전체보기
      • TIL
        • 한달 기록
      • 신한투자증권
        • 프로 디지털 아카데미
      • 공부기록
        • AWS
        • 트러블슈팅
        • 머신러닝
        • 알고리즘
        • 자료구조알고리즘
        • CS
        • 파이썬
      • 코린이의 성장기
        • 코린이의 백준 도전기
        • 코린이의 성장기
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 프디아
    • AWS
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    9월기록
    kdt교육
    LG Aimers
    알파코캠퍼스
    영리한 프로그래밍을 위한 알고리즘
    K디지털트레이닝
    클라우드
    신한투자증권
    파이썬문법
    알고리즘
    코린이
    전공지식노트
    백준
    JavaScript
    프로디지털아카데미6기
    react
    네트워크
    c언어
    파이썬
    프디아
    CS
    알파코
    파이썬알고리즘인터뷰
    프로디지털아카데미
    AI 전문과과정
    aws 구조와 서비스
    부트캠프
    AWS
    프로 디지털 아카데미
    Computer Networking: a top down approach
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
쇼파죠하
[신한투자증권 프로디지털아카데미] Github
상단으로

티스토리툴바