[CS 1-2 | 오픈소스 SW 기초] 네트워크 & Git 4주차

2022. 10. 6. 12:18·CS 대학강의
반응형

네트워크 계층 모델 - OSI 7 Layer Model

 

네트워크는 아래의 계층 모델에 따라 "데이터"가 전달된다.

 

네트워크 작업에 따라 체계적으로 구간을 나눈 것이고,
현재까지 네트워크 계층은 7개의 층으로 이루어져있다.

 

OSI 7 Layer Model

 

 

# 네트워크를 계층화 하는 이유는?

상위 계층을 하위 계층의 세부적인 사항으로부터 독립시킴으로써
기능 단위로 모듈화 가능하다.

 

각각의 계층을 독립적으로 유지, 관리할 수 있기에, 체계적으로 네트워크 상에서 데이터를 다룰 수 있다.

따라서, 네트워크 계층이 있기에, 네트워크 상에서의 데이터를 다루는 "규칙"으로 정해진 규격에 맞춰
원하는 정보 통신을 하기 때문에 네트워크 관리 및 개발에 유용하다.

개발 버전 관리

 

CVCS - 중앙 집중식 버전 관리

  • 파일 관리 서버가 존재한다.
    • 클라이언트가 중앙 서버에서 파일을 받아서 사용한다.

DVCS - 분산 버전 관리

  • 분산된 저장공간이 존재하여, 개발자 개개인의 코드를 개별적으로 업로드할 수 있다.
  • 개발자들의 작업물의 히스토리를 보관할 수 있다.
    • 코드를 버전별로 관리가 되며, 이전 버전의 코드를 불러올 수 있도록 한다.

 

 

 

DVCS - 분산 버전 관리는 주로, Git을 사용한다.

 

그럼, 이제 Git을 사용해보자


Git 사용하기

다음은, Git을 처음사용하는 분들을 위해 로컬에 Git 저장소를 구축하고, 원격 저장소에 코드를 Push하는 방법까지
정리한 글입니다.

 

1. 로컬 환경에서 Git 로컬 저장소 생성

 

프로젝트의 상위 디렉토리에서 아래의 명령어를 실행

$ git init

 

그럼, 이제 로컬환경의 해당 디렉토리에 Git 로컬 저장소가 구축된 것이다.

해당 로컬 저장소는 기본적으로, master 브랜치로 구축이 된다.

 

 

 

2. 로컬저장소와 원격저장소를 연결하기

 

Git 로컬 저장소를 생성한 곳에서 아래의 명령어를  실행

$ git remote add {Github 원격저장소 링크}

 

그럼, 이제 로컬 저장소와 원격 저장소가 연결되어진다.

 

 

 

3. 로컬 저장소에서 코드 반영 사항을 add 하고, commit 하기

 

아래 명령으로 로컬 저장소에 반영된 코드파일을 "커밋 가능한 파일" 상태로 만든다.

 

git add를 하는 이유에 대해선, 여름방학 때 프로젝트하면서 정리한 블로그에 포스팅 되어있으니, 궁금하면,

참고하길 바란다.

$ git add .

 

아래 명령으로 로컬 저장소에 반영된 코드 파일을 업로드시킨다.

commit을 거쳐 Git 로컬저장소에 코드파일이 최종적으로 저장되는 것이다.

$ git commit -c "커밋 메시지"

 

 

 

4. 로컬 저장소에 저장된 사항(commit 한 코드파일)을 원격 저장소에 Push (업로드) 하기

 

아래 명령을 실행해 로컬 저장소에 저장된 코드 파일을 원격저장소로 코드를 Push한다.

원격 저장소의 저장된 내역과 로컬 저장소에 저장된 내역이 충돌(Comflict)가 나지 않는 이상, 정상적으로 Push가 되는 걸 확인할 수 있다.

$ git push origin {remote 저장소 이름}

 

이제 비로소, 로컬 환경에서 작업한 내역을 원격 저장소에 코드를 Push를 완료했다.

원격 저장소에 가서 정상적으로 Push 내역이 반영되었는지 한번 확인해보자!

 

 

 

기타. Git을 사용할 때 도움이 되는 명령어

 

아래 명령을 통해 로컬 저장소의 코드 반영 내역을 출력해주는 명령어이다.

git status를 통해, 현재 작업한 사항이 로컬 저장소에 저장을 했는지, 안했는지 알 수 있기에,

실제로 프로젝트하면서 많이 사용하는 명령어이다.

$ git status

 

 

아래 명령을 통해 로컬 저장소에 존재하는 모든 브랜치를 출력해주고,
현재 작업 중인 브랜치를 보여준다.

그리고, 모든 브랜치가 원격 저장소의 브랜치와 연결이 되었는지와,
원격 저장소의 브랜치와 로컬 저장소의 브랜치의 버전을 비교해준다.

해당 명령어는 협업 프로젝트를 하면서 많이 사용하게 되는 명령어이다.  - Git Flow 

$ git branch -vv

 

 

아래 명령을 통해 로컬 저장소에서 작업 중인 브랜치를 변경할 수 있다.

해당 명령어도 협업 프로젝트할 때 많이 사용하는 명령어이다. - GIt Flow

$ git checkout {로컬 저장소에서 변경할 브랜치 이름}

 

 

 

Git은 수많은 명령어가 있고,

각각의 명령어는 로컬 저장소 관리에 도움을 준다.

앞으로 더 많이 협업 프로젝트를 해보면서

Git에 대해 사용법을 익혀나갈 것이고,
만약 좋은 정보가 추가된다면,
Git 보너스 포스팅을 하도록 하겠다.

 

반응형

'CS 대학강의' 카테고리의 다른 글

프로그램 설계 방법론 - 트러블 슈팅 [주사위 게임 과제]  (0) 2022.10.08
프로그램 설계 방법론 - #08 [반복문 설계 & MVC 아키텍처 | 공굴리기]  (0) 2022.10.06
[CS 1-2 | 대학생을 위한 실용금융] 투자 7주차  (0) 2022.10.05
[CS 1-2 | 대학생을 위한 실용금융] 저축과 세금 6주차  (0) 2022.10.05
[CS 1-2 | 시스템 프로그래밍 기초] 조건문과 반복문 9주차  (2) 2022.10.04
'CS 대학강의' 카테고리의 다른 글
  • 프로그램 설계 방법론 - 트러블 슈팅 [주사위 게임 과제]
  • 프로그램 설계 방법론 - #08 [반복문 설계 & MVC 아키텍처 | 공굴리기]
  • [CS 1-2 | 대학생을 위한 실용금융] 투자 7주차
  • [CS 1-2 | 대학생을 위한 실용금융] 저축과 세금 6주차
욱22
욱22
우기의 모든 걸 기록합니다.
    반응형
  • 욱22
    우기 때 만나요
    욱22
  • 전체
    오늘
    어제
    • 우기 때 만나요 (267)
      • 💭 경험&생각 (51)
      • 🌤 일상&취미 (12)
      • 📖 북로그 (29)
      • 백엔드 개발 (27)
      • 📚 스터디 (33)
        • 비즈니스 (0)
        • 프론트엔드 (9)
        • 디자인 (4)
        • 데이터베이스 (8)
        • 데이터 분석 (0)
        • 인공지능 (2)
        • 알고리즘 (10)
      • CS 대학강의 (78)
      • 🌤 프로젝트 (0)
        • UMC 2기: 동네 (15)
        • UMC 3기: 당신의 발자취 (6)
        • ERICA: 스타트업톤 (9)
        • ERICA: 또래튜터링 (2)
      • 🌤 대외활동 (5)
  • 링크

    • Github
  • 인기 글

  • 최근 글

  • 태그

    스타트업
    자기계발
    디자인베이스
    창업
    대학생 대외활동
    AWS
    컴퓨터학부
    파이썬
    드럼
    Kotlin
    티스토리챌린지
    객체지향 프로그래밍
    드럼 레슨
    안드로이드
    대학생 개발 프로젝트
    백준
    java
    생각정리
    오블완
    자료구조
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.1
욱22
[CS 1-2 | 오픈소스 SW 기초] 네트워크 & Git 4주차
상단으로

티스토리툴바