배경

 어제 학습한 add, commit은 변경사항이 생겼을 때 버전정보를 업데이트 하는 것이라면, 이전 버전으로 돌아가는 방법에 대해 학습해 보려고 한다.

 

1. 이전 버전으로 복구


① Git 구조

 Git버전은 작업 트리에서 변경된 내용이 있으면 스테이지에 add를 하고 변경된 정보를 저장소에 저장(Commit)을 하게 된다. 반대로 커밋된 내용으로 부터 과거로 돌아갈 때는 git reset, 커밋되기 전 스테이지에서 작업트리로 돌아갈 때 git restore --staged <file>, 작업트리에서 수정한 이후 파일이 정상적으로 돌아가지 않을 때 git restore <file>를 사용하는 것에 대해 자세하게 알아보려고 한다. 

 

② git reset

 생성된 버전에 대해서 다시 과거 버전으로 돌아갈 때 사용하는 명령어이다. 변경하는 방법은 다음과 같다. 

// 돌아가고 싶은 git 해시 확인 //
git log

// 돌아가려는 버전으로 변경 (해당 해시 이후 변경된 내용은 삭제) //
git reset --hard 돌아가려는 커밋해시


// 만약 돌아가려는 버전이 바로 전 버전일 경우 //
git reset --soft HEAD^

 

③ git restore --staged <file>

스테이징 된 파일을 취소할 때 다음과 같은 명령어를 사용한다. 

/* git 상태 확인 - 상태가 changes to be committed 일 때 */
git status

/* 스태이지에서 해당 파일을 내리는 방법 */
git restore --staged <filename>

/* git 상태 확인 */
git status

 

 

④ git restore <file>

파일을 수정한 뒤 소스가 정상적으로 동작을 안하는 등의 이유로 수정한 내용을 취소하려면 다음과 같은 명령어를 사용한다.

/* 수정된 파일 확인 */
git status
----------------------------------------------------------------------
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   hello.txt
----------------------------------------------------------------------

/* 수정된 파일을 원래대로 복구 */ 
git restore <file>

/* 상태확인 - modified 사라짐 */
git status

 

 

 

*Reference

- "깃&깃허브 입문" - 이지스퍼블리싱

-

-

 

부족한 글이지만 읽어주셔서 감사합니다. 

 

배경

 깃이란 소스코드를 효과적으로 관리하기 위한 시스템이고 깃의 핵심기능은 버전관리, 백업, 협업이었다. 그 중 버전관리 기능에 대해 알아보려고 한다.  

 

깃으로 버전을 관리한다는 것은

1) 저장소를 만들고, 2)변경사항이 있을때 버전을 생성하고, 3)다시 원상태로 돌리는 것이다. 

이번에는 저장소 생성 및 버전을 생성하는 부분까지 정리해보도록 하겠다. 

 

1. 깃 저장소 만들기


새로운 프로젝트를 하기 위해서 폴더를 만들게 되는데, 이렇게 생성된 폴더의 소스코드들을 관리하기 위해 git을 사용하려고 한다. 그러기 위해 해당 폴더에 깃 저장소를 생성해야 된다. 아래 코드를 따라가자.

 

mkdir project_test // project_test 폴더를 생성
cd ./project_test // project_test 저장소로 이동

git init // project_test 폴더에 저장소를 생성
// Initialized empty Git repository in C:/Users/project_test/.git/ <- 이런식으로 작성되면 해당디렉토리를 깃을 사용할 수 있다.

 

 

2. 깃 버전 생성 및 관리


① 깃의 구조

 깃 버전을 생성하기에 앞서 깃의 구조에 대해 먼저 알아봐야 한다. git은 작업트리, 스테이지, 저장소 세개의 공간으로 나뉘어 지게 된다. 그리고 아래 그림의 add, commit, restore, reset의 명령어를 통해 설정이 되게 된다. 

 - 작업트리 : 파일 수정, 저장등의 작업을 하는 디렉토리로 위에서 보이는 ./project_test 내의 공간을 말합니다.
 - 스테이지 : 버전으로 만들 파일이 대기하는 곳,
                     ./project_test에서 버전을 통해 관리하고 싶은 파일들만 스테이지로 저장하게 된다.

 - 저장소 : 스테이지에 대기하고 있던 파일들을 버전으로 만들어 저장.

 

② 깃 버전의 생성

 깃 버전의 생성 과정을 통해 status, log, add 및 commit명령어의 사용법에 대해 알아보고자 한다.

git status : 현재 작업트리의 git 상태를 확인한다. (기존 버전 대비 변경된 내용의 파일이 있는지?, 신규 생성된 파일이 있는지?)
git log : 해당 branch의 버전 변경 기록을 확인한다.
git add : 변경된 사항이 있을 경우. 신규버전 생성을 위해 스테이지로 변경 내용을 등록한다.
git commit -m : 스테이지에 등록된 변경사항을 반영하여 신규 버전을 생성한다. 
/* 신규파일 등록 */
vi test.txt  // 관리해야할 test.txt 파일 생성
// vim 편집기에서 i를 누른다 (insert : 입력)
// vim 편집기에 a/b/c/d/e를 입력한다.
// vim 편집기에서 esc버튼을 누른 뒤 wq를 작성하고 엔터 (저장후 나가기)

git status // git의 상태를 확인
// Untracked files test.txt 새로 등록한 파일이기에 git에서 추적을 못한다.
----------------------------------------------
On branch master
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        modified:   hello.txt

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        test.txt
-----------------------------------------------



/* 스테이징 */
git add test.txt // 수정 또는 생성한 파일을 스테이지로 등록한다.
git status // git의 상태를 확인
// 스테이지로 test.txt파일이 옮겨저 저장소로 커밋할 상태가 되었다.
----------------------------------------------
On branch master
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        modified:   hello.txt
        new file:   test.txt
----------------------------------------------



/* 저장소로 커밋 */
git commit -m "new file test.txt" // 스테이지에 등록된 파일을 커밋하여 저장소로 옮겨 신규 버전저장
git log // 버전 정보들을 확인한다. 
----------------------------------------------
commit 2a90767a070d85bebdbaa5f54b72b8e5d7043b45 (HEAD -> master)
Author: -----
Date:   Sun Jun 26 14:01:04 2022 +0900

    new file test.txt
----------------------------------------------

 

 

 

 

*Reference

- "깃&깃허브 입문" 이지스퍼블리싱

 

부족한 글이지만 읽어주셔서 감사합니다. 

배경

 회사 업무를 하면서, GIT, MERGE, COMMIT 등 GIT 관련된 용어를 많이 사용하게 된다. 눈치껏 사용은 하고 있으나, 막상 에러가 발생하게 되면 대응이 되지가 않아 이번 기회를 통해 GIT이 무엇인지? 어떻게 사용하는지? 공부해보려고 한다.

 

 

1. GIT이란?


소스코드를 효율적으로 관리하기 위해 생성된 시스템.

리눅스 토르발스가 만든 시스템, 현재는 리눅스뿐만 아니라 수많은 소프트웨어의 소스코드를 깃을 통해 관리한다. 

핵심기능은 버전관리, 백업, 협업으로 나눌 수 있다.

 

① 버전관리

 문서를 수정 할 대 언제 수정했는지?, 어떤 것을 변경했는지? 편하고 구체적으로 기록하고 관리하기위한 버전 관리 시스템 

② 백업

현재 컴퓨터에 있는 자료를 다른 컴퓨터에 복제하는 것

- 다른 컴퓨터 : 드롭박스, 외장하드, 구글드라이브, 깃헙, USB, 구글 드라이브

③ 협업

여러 사람이 작업할 때 원격저장소를 통해 팀원들이 파일을 편하게 주고 받을 수 있다.

 

 

2. GIT설치방법? (윈도우)


깃을 사용하기 위해서 사용자 PC에 깃을 설치해야 한다. 

깃은 리눅스 명령을 사용하기 때문에 윈도우에 깃 설치시 리눅스 명령을 사용하는 Git Bash 가 설치된다.

 

①  웹브라우저를 접속하여 Git 설치

1) https://git-scm.com/ 에 접속한다.

2) 위에 이미지안의 Download for Windows 클릭한다.

2-1) 자동다운로드가 되면 해당 파일을 실행한다.

2-2) 자동 다운로드가 안되고 아래 페이지 이동이 될 경우 아래 이미지의 Click Here to Download 를 눌러 다운 받아 실행한다.

3) 설치 파일이 실행되면 모든 셋팅은 기본값(default) 그대로 설정하여 설치를 완료한다.

 

② 실행방법

윈도우 창에서 검색창에 git을 검색하고 Git Bash를 눌러 실행한다. 

다음과 같은 bash창이 실행된다. 

 

③ Git 환경 설정하기

어떤 버전을 누가 언제 만들었는지 쉽게 파악하기 위해 사용자 정보를 입력해야 한다.

bash 내 아래 코드를 입력한다.

//사용자 등록
git config --global user.name "someone" // 사용자의 이름을 등록
git config --global user.email "email" // 사용자의 이메일 등록

//등록된 사용자 확인
git config --get user.name // 사용자의 이름 확인
git config --get user.eamil // 사용자의 이메일 확인

 

 

*Reference

- 도서 : "깃&깃허브 입문" - 이지스퍼블리싱

 

 

부족한 글이지만 읽어주셔서 감사합니다. 

 

1. 빅데이터 분석기사 학습 계획


 '21년 4월에 빅데이터 분석기사 필기 합격 이후, 6월에 본 실기 시험에서 0점에 가깝게 떨어졌다. 일단 경험해보자는 생각으로 보긴 했는데, 점수가 너무 안 나와서 당황스러웠다. 올해 6월 4회 차 실기시험에서는 합격하기 위해 준비를 좀 해보려고 한다. 

 

 

① 다른 사람들은 어떤 방식으로 땄는가? 

 목표와 일정은 정해져 있으니 어떤 방식으로 접근해야 될지 알아보기 위해, 합격자들의 후기 및 공부방법에 3개 정도 블로그를 읽었다. ( 읽어본 블로그 리스트는 해당 페이지 가장 아래에 주소 표기해놓았다. )

 

<공부 방법>

1) 수험서 기반 학습 : 파이썬 기반으로 작성되어있는 "<빅데이터 분석기사 실기> -데이터캠퍼스"로 학습함 -> 구매 필요

2) 풀이에 대한 암기 보다는 문제 해결 방법을 초점으로 학습

3) 시험 플랫폼인 "구름"에서 직접 연습 (기존 IDE와 다르게 함수 자동완성이나 디버깅 기능이 없음)

4) 공부기간 : 평균적으로 총 학습시간 20시간 (일주일 - 하루 2~3시간)

 

 

 

 

② 학습 계획

방법 : 다른 합격자 후기처럼, 책 1권을 선정하여 해당 도서를 기준으로 학습을 진행하려 한다.

기간 : 4/11~6/25, 76일간 3회 복습 진행 예정, 하루 학습 시간 1시간(예정), 총 학습 시간 76시간

 

<교재 선정> - "공개적 빅데이터 분석기사 실기" 구매 예정

 교보문고에 빅데이터 분석기사 실기를 검색해보니 파이썬을 기반으로 하는 도서는 아래 3가지 정도였다. 조사를 완료하고 나서 알게 된 사실인데, 와이즈인컴퍼니에서 나온 빅데이터 분석기사 실기와 공개적 빅데이터 분석기사 실기 교재는 동일한 저자가 작성한 교재이고, "공개적"이 붙은 교재가 최신판이다. (아래 2번째 빅데이터 분석기사 실기 책을 구매하려 하셨던 분들은 공개적 빅데이터 분석기사 실기 교재를 구매하시기 바란다.)

 프리렉 출판사에서 나온 것도 좋은 교재처럼 보였으나, "공개적 빅데이터 분석기사"와 "빅데이터 분석기사" 두 권을 목차를 기준으로 판단했을 때, "공개적 빅데이터 분석기사 실기" 교재에는 머신러닝 핵심 알고리즘 관련하여 카테고리가 분류 되어 있었으나, 프리렉 교재에는 어떤 알고리즘들에 대해 설명을 해주는지 목차에 표기가 되어 있지 않았다. 5000원 정도가 더 비싸지만 확실한데 투자하는 것이 좀 더 낫다고 판단했다. 

 

 교재 판단 기준은 아래와 같다.

- 단답형 및 작업형 모두를 커버할 수 있는 교재인가? 

- 최신문제를 포함하고 있는가? 

- 평점이 좋은가? (22.04.05 교보문고 기준)

- 사용 언어가 파이썬인가?

- 가격이 괜찮은가? (22.04.05 교보문고 기준)

 

 

추후 해당 도서 학습 내용 및 합격 후 시험 후기 작성하도록 하겠다. 

 

 

 

 

*Reference

- 빅데이터 분석기사 실기 시험 후기 https://blog.naver.com/sky00141/222586593918

- 빅데이터 분석기사 실기 시험 후기 https://blog.naver.com/aj8782/222668847241

- 빅데이터 분석기사 실기 시험 후기 https://blog.naver.com/minji95120/222612662063

- 교보문고 : https://search.kyobobook.co.kr/web/search?vPstrKeyWord=%25EB%25B9%2585%25EB%258D%25B0%25EC%259D%25B4%25ED%2584%25B0%2520%25EB%25B6%2584%25EC%2584%259D%25EA%25B8%25B0%25EC%2582%25AC%2520%25EC%258B%25A4%25EA%25B8%25B0&orderClick=LAG

 

 

부족한 글이지만 읽어주셔서 감사합니다. 

 

 

+ Recent posts