Merge vs Rebase: 충돌이 일어난 이유와 해결하는 방법
·
데이터 분석/04. Git
merge와 rebase가 매번 순조롭지는 않습니다그래서 이번에는 엽합시 발생하는 충돌에 대한 해결 방법을 배워보겠습니다1. merge 에서 발생한 충돌 해결하기 : 같은 파일 같은 폴더가 저장 내용이 다를 때우선 1. conflict-1과 conflict-2라는 브랜치를 생성2. main브랜치에서 tigers의 매니저 Kenneth로 변경3.conflict-1에서는 tigers의 매니저를 Deborah로 변경 그럼 지금 tigers파일은 같은 위치에 있는 코드에 서로 다른 내용을 작성한 상태입니다이상태에서 main브랜치에 conflict-1 브랜치를 merge 하면 다음과 같은 에러가 나타납니다 병합중 충돌이 발생했으니 이를 해결한 다음 커밋하라는 거죠 그리고 tigers 파일은 아래와 같이 수정되어 ..
Git 병합 방식 비교: Merge vs Rebase
·
데이터 분석/04. Git
지금은 3 개의 브랜치를 만들고 마디를 뻗어봤습니다이제는 이 브랜치를 다시 한 군데로 합치는 작업을 해보겠습니다merge : 두 브랜치를 하나로 병합하는 것rebase : 한 가지를 다른 가지로 재배치하는 것우리는 main브랜치를 중심 브랜치로 두고 작업을 해보겠습니다방법1. merge분기된 지점부터 메인 브랜치와 그외 브랜치에서 만들어진 변경 사항들이 메인 브랜치의 커밋으로 모이게 됩니다먼저 main브랜치와 add-coach 브랜치를 merge방식으로 병합해 보겠습니다A 브랜치에서 B브랜치의 작업을 가져올 경우 이를 A브랜치에서 실행해야합니다git switch main그리고 add-coach 브랜치를 병합해보겠습니다merge 과정도 새로운 커밋을 만드는 것이므로이처럼 자동으로 작성된 커밋 메시지를 ..
Git branch 첫걸음 : 생성, 삭제, 이름 변경
·
데이터 분석/04. Git
각 작업들은 서로 영향을 주지 않도록 분리된 공간에서 독립적으로 진행할 필요가 있습니다.Git은 이를 위해 현재의 시간선에서 새로운 ‘작업 공간(차원)’을 분리해내는 기능, 즉 branch를 제공합니다. 신규 기능 개발, 버그 수정, 성능 개선, 리팩토링 등 모든 작업은이처럼 메인 코드와 격리된 브랜치에서 안전하게 진행됩니다.그리고 작업이 충분히 검증되어 정식 버전(main)에 적용해도 문제가 없을 때,그때만 main 브랜치로 병합(merge)됩니다. 즉, 프로젝트 폴더를 따로 복사하지 않고도 여러 작업 공간을 만들어 안전하게 실험할 수 있게 해주는 것,그것이 바로 Git의 branch입니다! 이번에는 브랜치를 생성해보겠습니다!cursor에서 작업을 할거고, 현재 브랜치의 상태는 아래와 같습니다!1. 새..
SourceTree로 커밋해보기
·
데이터 분석/04. Git
지금까지 CLI에서 작업한 내용을 SourceTree로 해보겠습니다1. 변경 사항 만들고 커밋하기[변경 사항]1) leopards.yaml 삭제2) .gitignore에 *.config 추가3) hello.txt 추가 커밋 메시지 : Commit with SourceTree 변경 사항을 적용한 후 add를 해줘야겠죠!sourcetree에서는 모두 스테이지에 올리기를 통해서 add를 해줍니다이제 커밋을 해주면 되는데요 왼쪽 상단에 커밋을 클릭하면 아래 커밋 메시지를 적을 수 있는 창이 생깁니다 그럼 아래와 같이 새로운 버전이 생긴 것을 알 수 있습니다 2. revert수정이 필요한 시점에서 오른쪽마우스를 클릭 -> 커밋 되돌리기 그럼 이렇게 새로운 커밋이 생겨서 George가 사라진 것을 확인할 수 있습니..
다른 버전으로 돌아가는 방법 3가지(reset, revert, checkout)
·
데이터 분석/04. Git
지금까지 쌓인 커밋은 다음과 같습니다이렇게 시간순으로 기록된 타임캡슐을 꺼내서 프로젝트를 원하는 과거 시점으로 돌릴 수 있습니다. 이처럼 프로젝트를 과거로 돌아가게 하는 방법은 크게 Reset과 Revert 두 가지가 있습니다.1. reset vs revert vs checkout01. reset말그대로 시간을 과거로 되돌리는 것인데요중요한건 해당과거로 돌아간 다음 그 시점 이후 행적은 히스토리에서 지워버리는 것입니다.언제 사용하면 적합한가?전부 없애고 다시 만들고 싶을 때: 최근 커밋들을 통째로 지워 히스토리를 깔끔하게 정리하고 싶을 때대량의 커밋이 잘못됐을 때 효율적으로 되돌릴 때: 한 방에 과거 지점으로 브랜치를 이동실험용 브랜치에서 커밋이 많이 쌓였는데 한 개만 남기고 싶을 때02. rever..
새로운 버전 만들기
·
데이터 분석/04. Git
1. 프로젝트의 변경 사항들을 버전에 담기commit = 버전untracked = Git의 관리에 들어간 적 없는 파일 각각 파일 담기git add 추가할 파일명파일 옆을 보면 U와 A가 있습니다A는 방금 tigers.yaml 파일을 터미널창에 git add tigers.yaml 을 해서 git의 버전 관리에 들어간 것을 의미합니다.git status로 확인해봤을 때도 commit이 된것을 확인할 수 있습니다.이렇게 하나하나 적용해 줄 수 있지만모든 파일을 한번에 적용할 수 도 있습니다 모든 파일 담기git add .점(.)은 폴더 안에 모든 것을 의미합니다 git status로 확인해보니 모든 파일이 git버전관리에 들어간 것을 확인할 수 있습니다! 자 우리는 git add를 해서 이 파일들로 버전을 ..
gitignore : Git으로 관리하지 않을 파일과 폴더
·
데이터 분석/04. Git
1. Git의 관리에서 특정 파일/폴더를 배제해야할 경우포함할 필요가 없을 때자동으로 생성 또는 다운로드되는 파일들(빌드 결과물, 라이브러리)포함하지 말아야 할 때보안상 민감한 정보를 담은 파일이럴 경우 .gitignore 파일을 사용해서 배제할 요소들을 지정할 수 있습니다비밀번호를 담고 있는 파일을 생성해보겠습니다.(파일명은 secret.yaml)그리고나서 git status를 하면 새로운 파일이 생긴걸 확인할 수 있습니다 하지만 이 파일은 git으로 관리하지 않을 것이기 때문에 .gitignore을 사용할 겁니다1단계 - .gitignore 파일 생성2단계 - git관리에서 배제할 파일의 이름을 .gitignore 파일에 적기그럼 아래와 같이 secrets.yaml 파일이 사라진 것을 확인할 수 있습..
Git 설정하기
·
데이터 분석/04. Git
1. Git 전역으로 사용자 이름과 이메일 주소를 설정이 작업은 git Bash에서 진행됩니다 사용자 이름 설정git config --global user.name "본인 이름" 사용자 이메일 설정git config --global user.email "본인 이메일" 설정이 잘 되었는지 확인하는 방법git config --global user.namegit config --global user.email2. 기본 브랜치명 변경git init을 실행할 때 어떤 브랜치 이름으로 시작할지를 정하는 설정git init을 하면 원래는 master라는 기본 브랜치가 생성되었지만이 옵션을 설정하면 앞으로는 자동으로 main 브랜치를 만들도록 바꾸는 것입니다!git config --global init.default..
CLI vs GUI
·
데이터 분석/04. Git
Git은 버전 관리 도구로서 원래 CLI로 쓰는 게 기본인데요Source Tree를 사용하면 Git을 더 쉽게 사용할 수 있습니다! Sourcetree : Git을 GUI로 볼 수 있게 해주는 프로그램source tree 설치 링크 : https://www.sourcetreeapp.com/ Sourcetree | Free Git GUI for Mac and WindowsA Git GUI that offers a visual representation of your repositories. Sourcetree is a free Git client for Windows and Mac.www.sourcetreeapp.com✅ CLI(Command Line Interface) — 명령어로 조작하는 방식“컴퓨..
object vs category
·
카테고리 없음
1️⃣ object vs category 차이구분objectcategory저장 형태문자열 그대로 저장문자열을 코드(숫자)로 치환메모리 사용량많음훨씬 적음 (중복값 많을수록 효과 큼)연산 방식문자열 직접 비교정수 비교 (빠름)데이터 의미자유 텍스트범주형 값(카테고리, 그룹)예시“서울”, “부산”, “서울”{서울:0, 부산:1}2️⃣ 카테고리(category) 타입의 장점① 메모리 절약문자열 중복값은 한 번만 저장하고, 각 행은 숫자 코드로 참조함데이터셋이 클수록 메모리 사용량이 크게 줄어듦→ object 대비 10~100배까지 절약 가능② 연산 속도 향상비교·정렬·그룹화(groupby, value_counts) 시 문자열 대신 정수 비교Pandas가 내부적으로 C 언어로 만들어져 있어서, category ..