[SK네트웍스 패밀리 엔코어AI캠퍼스] AI 머신러닝 캠프 1기_7월 4주차 회고

[SK네트웍스 패밀리 엔코어AI캠퍼스] AI 머신러닝 캠프 1기_7월 4주차 회고 엔코아 AI 캠퍼스에서 첫 주는 Orientation과 하루 일정의 교육이 이루어 지다 보니, 이번 주가 본격적인 첫 주라고 봐야 할 것 같다. 정말 시간이 눈 깜짝할 사이에 지났다. 이번 주는 AI 개발자의 가장 기본이 되는 Python Programming 능력을 다지고, 실제 데이터 분석 의 핵심인 데이터 수집과 전처리 기술을 습득하는 매우 중요한 시간이었다. Python의 핵심 문법부터 라이브러리를 활용한 실무 기술까지, 적지 않은 양을 학습했고, 학습한 것들을 정리해 본다. 1. Python Programming 문법 가장 먼저 프로그래밍의 기초가 되는 변수와 제어문을 시작으로 코드의 재사용성을 높여주는 함수와 복잡한 데이터를 효율적으로 다루기 위한 자료구조를 학습했다. (1) Python 핵심 문법 정리 - 제어문 : if, for, while 등 조건에 따른 흐름 제어 및 반복 작업 수행 - 자료구조 : 리스트(List), 튜플(Tuple), 딕셔너리(Dictionary), 세트(Set) 등 데이터 특성에 맞는 저장 및 관리 - 함수(Function) : 코드의 논리적 단위 분리, 매개변수와 반환 값을 활용한 코드 재사용성 극대화 # 자료구조와 함수 활용 예시 def process_data(data_list): result = {} for item in data_list: if item not in result: result[item] = 1 else: result[item] += 1 return result data = ['apple', 'banana', 'apple', 'orange', 'banana'] count_result = process_data(data) print(count_re...

Git(로컬 컴퓨터)에서 작업한 결과물을 GitHub에 Push(올리기)

로컬 컴퓨터에서 작업한 결과물을 GitHub에 올리는 법

로컬 컴퓨터에서 열심히 작업한 결과물을 안정적으로 관리하기 위해, 그리고 팀원들과 협업을 하기 위해서 온라인 저장소인 GitHub에 올리는 것을 추천 한다. 이번에는 앞서 얘기한 대로 로컬 컴퓨터와 GitHub의 연동 방법에 대해 확인해 보겠다.

1. 개발 자료의 로컬과 원격 저장소를 분리해서 관리의 잇점

로컬 저장소는 자유롭게 코드를 수정하고 테스트할 수 있는 작업대와 같다. 반면, 원격 저장소인 GitHub는 작업 중인 프로젝트의 '안전한 보관소'이자, '협업의 창구'이다. 

로컬에서 다양한 작업을 하고 커밋(commit)을 하더라도, 최종적으로 검증된 내용만 원격 저장소(GitHub)에 올림으로써 개발 작업물의 안정성을 확보할 수 있다.

git의 작업 흐름을 이해하면 자연스럽게 GitHub를 이해할 수 있을 것이다.


Git & GitHub 흐름도


2. 로컬과 GitHub의 4단계 연동 작업

우선 로컬 컴퓨터의 작업 폴더에서 git bash(또는 터미널)을 열고 단계별 작업을 진행한다.

Step 1. 로컬 프로젝트 git 초기화

프로젝트 폴더로 이동,  git init  을 입력한다. 실행하면 이제부터 해당 폴더는 git이 버전을 관리하는 관리 폴더가 된다.

Step 2. GitHub에 원격 저장소 및 연동 환경(Token 발급) 설정

GitHub 사이트(github.com)에 접속(로그인 필수), 우측 상단의  New repository  를 통해, 새로운 저장소(Repository)를 생성한다.

New repository


- 생성된 저장소의 URL 구조"https://github.com/사용자이름/레포지토리명.git" 이다.

Repository URL


저장소가 정상적으로 생성이 되었다면 로컬 컴퓨터에서 작업물을 푸시(Push)할 수 있도록 Token을 발급해야 한다.

아래 메뉴 순서대로 이동하여 Token을 발급한다.

"Settings >  Developer Settings > Personal access tokens (classic)"

Token 생성 시, 신경 써야 할 주요 항목은 Note(토큰 이름 또는 설명), Expiration(만료일), Permission(권한) 이 있고, 아래와 같이 항목별로 선택하면 무난하다.

- Note : 토큰 이름이나, 토큰에 대한 설명글

- Expiration : 토큰의 만료일 지정, 사용 목적에 따라 선택

- Permission : 토큰의 권한 설정, 'REPO'에 대한 권한을 설정하여 저장소를 연동하도록 선택

- Token : 생성 후 표시되는 코드는 표시 화면을 벗어나면 확인이 불가능하니, 복사하여 메모해 둔다. ('ghp_....'로 시작하는 코드)

Step 3. 로컬과 원격 주소 연결

git bash(또는 터미널)에서  git remote add origin <GitHub 저장소 URL> 명령어 입력으로 원격 주소를 지정한다.

- GitHub 저장소 URL : 생성한 저장소(Repository)의 URL에 Token 코드 정보를 추가

                              형식 예) https://Token_code@github.com/사용자이름/레포지토리명.git

Step 4. 작업물 업로드(Push)

- 수정한 작업물이 있는 경우, git bash(또는 터미널)에서  git add .  (스테이징)하고,

git commit -m "첫 번째 커밋" (저장)하고,

git push -u origin main  을 실행하면 원격 저장소(Repository)로 전송이 시작된다.

git bash - git log 실행 화면


3. 초보자가 가장 많이 하는 실수와 해결법

이 과정을 진행하다 보면 '인증 실패' 오류 또는 '브랜치(Branch) 이름 불일치' 같은 상황을 만나게 된다.

- 인증 오류 : GitHub의 보안 정책 강화로 인해 비밀번호 대신 'Personal Access Token'을 사용 필요

- 브랜치(Branch) 이슈 : 로컬 컴퓨터의 메인 브랜치 이름(master 또는 main)과 GitHub의 이름이 다르면 업로드가 거부된다. git bash(또는 터미널)에서  git branch -M main  으로 이름을 맞춰 주는 것만으로도 대부분 해결된다.


4. Push가 개발자에게 필요한 이유

git을 사용하다 보면 실수로 코드를 지우거나 기능을 망가뜨리는 경우가 있다.

이런 경우 GitHub에 미리 Push 해둔 코드는 개발의 위험 요소를 해소하는 데 큰 도움이 된다.

이렇게 버전 관리는 단순한 업무가 아니라, 전체 개발 과정을 기록하고 위험으로부터 작업물을 보호하는 강력한 안전장치이다.

로컬 컴퓨터와 원격 저장소 연동부터 스테이징, 커밋, 푸시, 스테이터스, 리모트, DIFF 등 주요 git bash 명령어를 접하고 익숙해 질 때까지 사용하다 보면, 규모가 큰 프로젝트를 팀 단위로 진행하면서 발생할 수 있는 위험 요소를 줄일 수 있을 것으로 생각 된다.


#git #github #push #commit #staging #status #token #remote #DIFF #branch

댓글

이 블로그의 인기 게시물

[SK네트웍스 family 엔코아AI캠퍼스] 나의 목표는 머신러닝 엔지니어다.

[SK네트웍스 패밀리 엔코어AI캠퍼스] AI 머신러닝 캠프 1기_7월 3주차 회고

[SK네트웍스 패밀리 엔코어AI캠퍼스] AI 머신러닝 캠프 1기_7월 4주차 회고