본문 바로가기

Tools15

[Git] Remote Branch 관리 정리 Git에서 협업을 하다 보면 로컬 브랜치뿐 아니라 원격(remote) 브랜치를 잘 관리하는 것이 중요합니다.혼자만 쓰는 브랜치가 아니라, 여러 개발자들과 공유되는 브랜치이기 때문에 잘못 관리하면 혼란이 생길 수 있죠.이번 포스팅에서는 원격 브랜치의 확인, 동기화, 삭제, 추적 브랜치 관리까지Git에서 자주 쓰이는 원격 브랜치 관리 명령어들을 모두 정리해드립니다!📌 목차원격 브랜치란?원격 브랜치 목록 확인하기원격 브랜치 가져오기(fetch/pull)원격 브랜치로 push 하기원격 브랜치 삭제하기추적 브랜치란?실전 팁 & 주의사항마무리1. 원격 브랜치란?원격 브랜치는 Git 서버(GitHub, GitLab 등)에 존재하는 브랜치로, 다른 개발자와 공유되는 브랜치입니다.origin/브랜치명 형태로 로컬에 복.. 2025. 5. 7.
[Git] 브랜치 전략: 효율적으로 협업하기 Git을 어느 정도 사용해본 개발자라면 한 번쯤 들어봤을 “Git 브랜치 전략”.혼자 작업할 땐 단순한 브랜치 관리로 충분하지만, 팀 단위 협업에서는 브랜치를 체계적으로 나눠야 충돌 없이, 안정적이고 유연한 개발이 가능해집니다.이번 포스팅에서는 실무에서도 많이 쓰이는 Git Flow 스타일의 브랜치 전략을 중심으로, 각 브랜치의 역할과 사용 시나리오를 정리해볼게요.📌 목차Git 브랜치 전략이 필요한 이유주요 브랜치 소개브랜치 간 흐름과 릴리즈 플로우실제 협업 예시전략 적용 팁 & 주의사항마무리1. 왜 브랜치 전략이 필요할까?협업에서 브랜치를 잘못 관리하면 다음과 같은 문제들이 생깁니다:긴급 수정 사항 반영 중 기능 개발 내용이 섞임QA 중 테스트 대상 커밋이 명확하지 않음배포 시점이 제각각이라 혼란 발.. 2025. 4. 24.
[Git] Squash 정리 - 지저분한 커밋 정리하는 법 기능 개발을 하다 보면 커밋이 자잘하게 쌓여서 지저분해지는 경우가 많습니다.예를 들어, add 기능 구현, fix 오타, test 수정, README 추가 등 수많은 커밋들...이럴 때 등장하는 강력한 커밋 정리 도구가 바로 Git Squash입니다.이번 포스팅에서는 squash의 개념, 사용법, 실제 사례, 시각적 흐름, 주의사항까지 전부 정리해드립니다.📌 목차git squash란?squash가 왜 필요한가?squash 사용법 (rebase 활용)squash 사용법 (merge 활용)시각적 흐름 예시실전 사례주의사항 및 실전 팁마무리1. git squash란?Git에서 squash는 여러 개의 커밋을 하나로 합치는 작업을 의미합니다.squash는 "눌러서 뭉개다"라는 뜻 → 여러 커밋을 하나로 압축!.. 2025. 4. 21.
[Git] Cherry-pick 정리 - 필요한 커밋만 쏙쏙 골라 담기 Git으로 협업하다 보면, 전체 브랜치를 병합하는 대신 특정 커밋 하나만 다른 브랜치에 옮기고 싶을 때가 있습니다.이럴 때 사용하는 강력한 도구가 바로 git cherry-pick입니다.이번 포스팅에서는 cherry-pick의 개념부터 실전 사용법, 주의할 점까지 자세히 알아봅니다.📌 목차git cherry-pick이란?cherry-pick 사용법실제 사례로 보는 cherry-pick시각적 흐름 예시충돌(Conflict) 처리 방법유용한 옵션들주의사항 및 실전 팁마무리1. git cherry-pick이란?git cherry-pick은 특정 커밋 하나(또는 여러 개)를 선택해서 현재 브랜치 위에 복사해 적용하는 명령어입니다.마치 과일 바구니에서 필요한 체리만 "쏙쏙" 골라 담는다는 의미에서 이름이 붙었어.. 2025. 4. 17.
[Git] Init 정리 - Git 저장소의 첫 시작, 어떻게 동작할까? Git을 배우는 사람들이 처음 마주치는 명령어는 단연 git init입니다. 당연히 Init부터 시작했어야 하는데...이제서야 정리합니다.하지만 단순히 “Git 시작 명령” 정도로만 알고 있다면, 실제 내부에서 무슨 일이 일어나는지, 그리고 어디까지 자동으로 준비되는지 정확히 이해하기 어렵습니다.이번 포스팅에서는 git init 명령어의 의미부터, 사용법, 내부 구조, 주의사항까지Git 저장소의 시작점에 대해 확실히 정리해드립니다!📌 목차git init이란?git init의 동작 원리git init 명령 실행 예시.git/ 내부 디렉토리 구조기본 브랜치 이름을 main으로 바꾸기원격 저장소 등록 및 push실전 초기화 템플릿주의사항 & 실전 팁마무리1. git init이란?git init은 현재 디렉토.. 2025. 4. 16.
[Git] Merge와 Rebase 비교 Git에서 merge와 rebase는 브랜치의 변경사항을 통합할 때 사용하는 두 가지 대표적인 방법입니다. 이 둘은 결과적으로 같은 내용을 작업 브랜치에 포함시키지만, 히스토리를 다루는 방식이 다릅니다.아래에서 merge와 rebase의 차이를 비교하면서 설명해드릴게요.git merge vs git rebase 비교 요약항목 git merge git rebase목적두 브랜치의 변경사항을 병합다른 브랜치의 커밋을 현재 브랜치 위에 다시 적용히스토리병합 커밋이 생겨서 분기점이 남음커밋을 새로 작성해서 히스토리가 깔끔해짐커밋 로그브랜치 흐름이 명확하지만 복잡함직선형 히스토리 (간결함)사용 시기협업 중 변경 히스토리를 보존하고 싶을 때개인 작업 후 메인 브랜치에 깔끔하게 반영하고 싶을 때충돌 발생 시병합 시점에.. 2025. 4. 15.
[Git] Rebase 정리 - Merge보다 히스토리가 깔끔한 이유 Git을 조금만 써보면 자연스럽게 등장하는 두 명령어, merge와 rebase.지난 포스팅에서는 merge를 깊게 다뤘다면, 이번에는 히스토리를 깔끔하게 정리하는 마법 같은 명령어 rebase를 파헤쳐봅니다.📌 목차git rebase란?rebase의 작동 원리rebase 사용법rebase vs merge: 히스토리 비교rebase 충돌 처리인터랙티브 rebase (i)주의사항 및 실전 팁마무리1. git rebase란?git rebase는 한 브랜치의 커밋들을 다른 브랜치의 마지막 커밋 이후로 "재배치(relocation)"하는 명령어입니다.즉, 커밋들을 복사해서 새로 붙여 넣는 느낌으로 작동합니다."브랜치 히스토리를 병합(Merge)하는 게 아니라,다른 베이스(기준) 위로 옮기는 것"2. 작동 원리.. 2025. 4. 14.
[Git] Merge 정리 - 브랜치 병합 Git에서 merge는 다른 브랜치의 변경사항을 현재 브랜치에 통합할 때 사용하는 명령어입니다. 협업, 기능 개발, 릴리즈 브랜치 병합 등에서 가장 자주 쓰이는 명령 중 하나입니다.목차git merge란?Fast-forward 병합 vs 3-way 병합Merge 사용법Merge 충돌(Conflict) 처리Merge 옵션 정리실제 사용 시나리오장단점 정리마무리 & 팁1. git merge란?git merge는 두 개의 브랜치를 하나로 합치는 명령어입니다. 보통 main 브랜치로 기능 브랜치를 병합하거나, 반대로 main의 최신 내용을 기능 브랜치에 반영할 때 사용합니다.기억할 점병합의 대상은 항상 "현재 체크아웃된 브랜치"이며, 다른 브랜치를 가져오는 것2. Fast-forward vs 3-way Merg.. 2025. 4. 11.
[Git] Merge 작업 도중 취소하기 Git을 이용해 Branch를 나누고 코드를 관리하다보면, Merge는 꼭 사용하게 된다.오늘도 Merge를 진행하던 도중, 실수로 다른 Branch와 Merge를 진행하였다. 심지어 Conflict까지 발생하였기 때문에 해당 Merge 작업 자체를 취소할 필요가 있었다.Git Merge를 진행하는 중 Merge conflict가 발생할 경우, 해당 Merge 과정을 중지하고 Merge 작업 이전의 상태(pre-merge) 로 되돌리는 방법이다. 이 때, --abort 옵션을 사용한다. Merge가 완료된 이후에는 수행할 수 없다.git merge --abort 2025. 1. 6.
[Colab] Webcam - Colab 연동하기 아래 내용들은 제가 혼자 학습하면서 정리한 내용들입니다. '부족한 내용' 혹은 '잘못된 내용'이 있을 수 있습니다. 댓글 남겨주시면 더욱 공부하고 수정하도록 하겠습니다. 감사합니다. Colab에서 Webcam 사용하기 Webcam을 이용한 프로젝트를 진행할때, Colab에서 OpenCV의 VideoCapture(0)를 사용하지 못해서 매번 JupyterNotebook을 사용했었다. Colab에서는 JavaScript를 이용하여 Webcam을 사용할 수 있다고 해서 찾아보았다. 처음에 찾았던 조금 이전 버전내용은 마지막에 Old version으로 따로 붙여놓았다. 지금 Colab에서 사용하는 코드는 전체적으로 비슷했지만 비동기방식 등이 적용되어 조금 더 개선되었다. Colab - Webcam 연동 아래 내.. 2023. 2. 7.
[Git] 내가 보려고 정리한 Git 명령어 모음 내가 보려고 정리한 명령어 시리즈 `Git편`지금껏 코딩 공부를 하면서 조금씩 정리된 내용들입니다.노션에서 정리된 내용들이지만 노션을 사용할 수 없는 상황을 대비해 블로그에서도 볼수있도록 포스팅합니다.새롭게 알게되는 명령어가 생기면 언제든지 수정될 수 있습니다. git 기본정보 입력git config --global user.name '이름'git config --global user.email '이메일' Git 시작git init작업 트리로 사용할 디렉토리에서 입력하면 .git 폴더 생성 Git 상태 확인git status 수정한 파일 스테이징 - git addgit add '파일명' 스테이지에 올라온 파일 커밋하기 - git commitgit commit -m '입력할 메세지'git commit -a.. 2023. 2. 6.
[Conda] 내가 보려고 정리한 Anaconda 명령어 내가 보려고 정리한 명령어 시리즈 `Anaconda편` 지금껏 코딩 공부를 하면서 조금씩 정리된 내용들입니다. 노션에서 정리된 내용들이지만 노션을 사용할 수 없는 상황을 대비해 블로그에서도 볼수있도록 포스팅합니다. 새롭게 알게되는 명령어가 생기면 언제든지 수정될 수 있습니다. 콘다 정보 확인 conda info 버전 확인 conda --version 가상환경 생성 conda create -n 환경명 python=버전 conda create --name 환경명 python=버전 리스트 확인 conda env list conda prompt clear cls 가상환경 삭제 conda remove -n 환경명 —all 가상환경 실행 activate 가상환경명 가상환경 종료 conda deactivate 깃허브.. 2023. 2. 6.