본문 바로가기

전체 글53

[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.
[Paper] Adam-mini: Use Fewer Learning Rates To Gain More https://arxiv.org/abs/2406.16793 Adam-mini: Use Fewer Learning Rates To Gain MoreWe propose Adam-mini, an optimizer that achieves on-par or better performance than AdamW with 45% to 50% less memory footprint. Adam-mini reduces memory by cutting down the learning rate resources in Adam (i.e., $1/\sqrt{v}$). We find that $\geq$ 90% of tharxiv.orghttps://github.com/zyushun/Adam-mini GitHub - zyushu.. 2024. 7. 13.
[Paper] 논문 쉽게 검색 및 파악하기 다시 블로그를 시작하면서 첫번째 목표는 논문 리뷰를 꾸준히 블로깅 하는 것이다. 꾸준히 논문들을 읽으면서 정리를 하고 리뷰를 해 볼 예정이다.그 첫번째 기록으로 논문을 어떻게 검색하고, 논문의 내용을 어떻게 파악을 할 것인지에 대한 내용을 정리해 보았다. 그동안 논문을 조금씩이라도 계속 읽어오고 있었는데,논문을 찾는 것도, 내용을 파악하는 것도 주먹구구식으로 해왔던 것 같아서 제대로 찾아보고자 하였다.오늘 리뷰하는 내용은 유튜브 '김포닥 podockim' 님의 정리 영상을 참고하였다. 더 자세한 내용이 궁금하신 분들은 해당 영상을 보시길 추천한다. 내용이 길지 않고 잘 설명해주신다!'논문 검색 꿀팁! 손쉽게 논문 찾는 방법'  : https://www.youtube.com/watch?v=HWBBLRjFI.. 2024. 6. 15.
[OpenCV] 21. 영상의 특징과 키 포인트 아래 내용은 파이썬으로 만드는 OpenCV 프로젝트(이세우 저) 를 공부하며 정리한 내용들입니다. 모든 소스 코드를 확인하고 싶으시다면 제일 하단의 저자 GitHub 주소를 참고하시기 바랍니다. 앞서 다룬 특징 추출과 매칭 방법은 영상 전체를 전역적으로 반영하는 방법이다. 전역적 매칭은 비교하려는 두 영상의 내용이 거의 대부분 비슷해야 하고, 다른 물체에 가려지거나 회전이나 방향, 크기 변화가 있으면 효과가 없다. 그래서 여러 개의 지역적 특징을 표현할 수 있는 방법이 필요하다. 21.1 코너 특징 검출 사람은 영상 속 내용을 판단할 때 주로 픽셀의 변화가 심한 곳에 중점적으로 관심을 두게 된다. 그 중에서도 엣지와 엣지가 만나는 코너(corner)에 가장 큰 관심을 둔다. 코너는 영상의 특징을 아주 잘.. 2023. 5. 3.