Git) 여러개의 Git 저장소 한번에 fetch / pull

Intro 사용하는 PC 가 여러개 (Linux, MacOS, ...) 있다 보니, 혼자서만 사용하는 Git Repository라고 해도 fetch 혹은 pull 을 꼬박꼬박 진행 해 주어야 합니다. 가끔씩 fetch / pull 을 까먹은 상태로 커밋을 하고 거기에 push -f로 강제 푸시라도 하는 날에는 기존에 작업했던 내용을 잃기도 합니다. 코딩을 하다가 자바의 특정 기능을 테스트 해보고 그걸 나중을 위해 기록으로 남겨두는 저장소 시간 날 때 알고리즘 문제를 풀어보는 저장소 새로움 배움이 있거나 기록할 게 있을 경우 추후 블로그 작성을 위해 메모해 두는 저장소 이 세 저장소는 특히 여러개의 PC에서 commit이 자주 일어나는데요. 특히 출/퇴근 후에는 혹시 모를 실수를 방지하기 위해 모든 저장소..

Development/Git 2022.05.27
Git) 이전 커밋에 덧붙이기 amend

Intro Commit을 하다 보면 적당한 크기로 커밋하는게 쉽지 않다는 걸 많이 느낍니다. 커밋 하나하나의 크기가 너무 작으면, 후에 커밋을 추적하기가 어렵고 커밋의 크기가 너무 크면 중간에 문제가 생기거나 실수를 했을때 돌아가야 할 지점이 너무나도 멀다는 문제가 있습니다. 커밋 하나에 잡다한 여러가지 연관성 없는 기능에 대한 코드가 함께 있어도 코드리뷰를 하는데 불편함을 초래 합니다. Commit 을 하고 보니 이게 빠졌네 이건 모두가 한번씩 있는 경험이 아니고 거의 몇일에 한번씩 혹은 커밋이 잦은 편인 저의 경우에는 거의 매일 겪는 일 입니다. 특히 간단한 오타 수정이 가장 흔한 상황 인데요. 그렇다고 오타를 수정 했는데 커밋을 안하고 다음 커밋까지 미루기도 곤란하고, 오타 하나만 달랑 수정하는데 ..

Development/Git 2022.01.14
Git) 실수로 삭제한 Branch 복구하기

Intro Pull Request를 기다리다가, merge가 되었다고 착각하고 커밋 했던 브랜치를 삭제해 버렸습니다.. 로컬과 remote 모두에서 삭제 했기 때문에 원래대로라면 데이터를 날려먹은게 맞지만, 다행히도 복구하는 방법이 있습니다. branch 생성 및 삭제 같은 상황을 만들기 위해 branch를 생성 해서 커밋 한 후 삭제 하겠습니다. 이미 branch가 삭제되어 복구가 필요한 분은 아래로 스크롤을 내려 삭제한 branch 복구 를 확인하시면 됩니다. branch 생성 및 commit & push dev 라는 branch를 만들어서, gitbranch.txt 파일을 추가해 commit 및 push 까지 마친 상태입니다. 이 상태에서는 dev에 커밋이 되었지만, 해당 사항이 master에 까지..

Development/Git 2022.01.12
원격저장소 추가 - git remote add

개요 add remote는 로컬 git 저장소에 원격 저장소를 추가 하는 명령입니다. 보통, git init 이후에 Github 이나 Gitlab의 원격 저장소를 추가하기 위해 사용하는 명령어 인데요, 이미 특정 원격 저장소와 연결이 되어 있을때, 해당 저장소와의 연결을 끊고 다른 저장소와 새로 연결을 하거나 혹은 한번에 여러 개의 저장소에 push 하는 등 여러가지 용도로 사용할 수 있는 명령어 입니다. Repository 생성 원격 저장소를 추가하기 위해서 그에 앞서 원격 저장소를 먼저 생성 하겠습니다. 아래 사진의 예제는 각각 Gitlab과 Github입니다. 어렵지 않게 새로운 저장소를 만드실 수 있습니다. Create repository를 눌러서 생성 Github이나 Gitlab 에서는 저장소를..

Development/Git 2021.11.25
Rebase 활용해 Commit 합치기

Rebase Rebase는 한 branch에 있는 내용을 다른 branch에 병합하는 두가지 Git 유틸리티 중 하나 입니다. 다른 하나는 이미 모두가 사용하고 있는 git merge 입니다. merge는 항상 이후로 향하는 변경인 반면에, rebase는 git의 history를 다시 작성 하는 강력한 기능을 가지고 있습니다. Rebase는 manual과 interactive 이렇게 두 가지 메인 모드를 가지고 있습니다. 여러가지 역할이 가능 한 rebase 지만 이번 posting에서는 이미 커밋한 몇개의 커밋을 하나로 합치고 새로운 커밋 메시지를 남기는 용도로 사용 해 보겠습니다. 문제 커밋을 했는데 깜빡한게 있는 경우가 생겼습니다. 19 분 전에 커밋을 하자 마자 코드가 너무 지저분 하다는 생각이 ..

Development/Git 2021.11.03