| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
- list
- junit
- javascript
- 인텔리제이
- Visual Studio Code
- junit5
- js
- 자바스크립트
- HashMap
- input
- 배열
- 자바문법
- 단위테스트
- 문자열
- math
- IntelliJ
- Java
- json
- 이클립스
- 테스트자동화
- html
- vscode
- 자바
- Array
- 정규식
- java테스트
- Eclipse
- ArrayList
- CSS
- string
- Today
- Total
목록IT/Git (23)
어제 오늘 내일
Git을 사용하다 보면 가장 헷갈리는 것 중 하나가 바로 "서버에서 코드를 가져오는" 이 두 명령어의 차이입니다. 결론부터 말씀드리면, fetch는 '확인만 하기', pull은 '가져와서 합치기'입니다. 1. 한 눈에 보는 차이점 명령어 동작 원리 특징 git fetch 원격 저장소의 최신 이력을 로컬로 가져오기만 함 내 소스 코드는 변하지 않음 (안전) git pull fetch + merge 원격 내용을 가져와서 내 코드에 바로 합침 (편리함) 2. 자세히 알아보기① git fetch (가져오기)서버에 어떤 변화가 있는지 정보만 업데이트합니다. 실제 내 파일 내용이 바뀌지는 않기 때문에 매우 안전합니다."남들이..
git add를 했다는 것은 커밋을 하기 전 '장바구니'에 파일을 담은 상태입니다.장바구니에서 파일을 다시 빼는 방법은 Git 버전에 따라 두 가지 명령어를 주로 사용합니다. 1. 가장 권장되는 방법: git restore (Git 2.23 버전 이상)최신 Git 버전에서 도입된 명령어로, 의미가 직관적이라 가장 추천하는 방법입니다. 특정 파일 하나만 취소하기: git restore --staged [파일명] 모든 add 취소하기 git restore --staged . (여기서 --staged 옵션은 "장바구니(스테이징)에서만 빼고 파일 내용은 그대로 둬라"라는 뜻입니다.) 2. 전통적인 방법: git reset오래전부터 쓰이던 방식으로, 많은 튜토리얼에서 소개하는 방법입니다. 결과는 위와 동..
로컬에서 브랜치 이름을 바꾸는 것은 아주 간단하지만,이미 서버(GitHub)에 올린 브랜치의 이름을 바꾸는 과정은 조금 더 세심한 작업이 필요합니다. 1. 로컬에서 브랜치 이름 변경하기가장 흔한 경우입니다. 오타가 났거나 더 적절한 이름으로 바꾸고 싶을 때 사용합니다.① 현재 내가 위치한 브랜치 이름을 바꿀 때바꾸고 싶은 브랜치로 switch한 상태라면 이름만 지정하면 됩니다.git branch -m 새로운-브랜치-이름② 다른 브랜치의 이름을 바꿀 때 (이동하지 않고)현재 브랜치를 유지하면서 다른 브랜치의 이름만 슥 바꿀 때 사용합니다.git branch -m 기존-이름 새로운-이름 2. 원격 저장소(GitHub)의 브랜치 이름 변경하기이미 push를 완료한 브랜치라면, 로컬에서 이름을 바꾼다고 서버..
프로젝트 폴더를 열었는데, 내가 만들지 않은 설정 파일이나 빌드 중 생성된 임시 파일들이 가득 차 있나요?하나하나 수동으로 지우기엔 너무 많고 귀찮을 때, Git의 청소(clean) 기능을 사용해 보세요. 1. git clean이란 무엇인가요?git clean은 작업 디렉토리에서 Git이 추적하고 있지 않은 파일(Untracked Files)들을 삭제하는 명령어입니다.Tracked: 이미 Git에 등록되어 관리 중인 파일 (얘네는 안 건드려요!)Untracked: 새로 생성되었지만 아직 add 하지 않은 파일 (얘네를 삭제해요!) 2. 실수 방지를 위한 안전 장치git clean은 파일을 영구적으로 삭제하기 때문에 복구가 불가능합니다.그래서 Git은 기본적으로 "실수로 지우지 마!"라며 명령어를 그냥 실..
git status가 "어떤 파일이 바뀌었는지" 알려준다면,git diff는 "그 파일의 어느 줄이 어떻게 바뀌었는지"를 돋보기처럼 보여줍니다. 1. git diff란 무엇인가요?diff는 'Difference(차이)'의 줄임말입니다.서로 다른 두 상태(예: 마지막 커밋 vs 현재 수정 중인 코드)를 비교하여 변경된 구체적인 내용을 출력합니다.- (마이너스): 삭제된 줄 (보통 빨간색)+ (플러스): 추가된 줄 (보통 초록색) 2. 상황별 git diff 활용법① 아직 add 하지 않은 변경 사항 확인 (Working Directory)가장 많이 쓰이는 상황입니다. 파일을 수정만 하고 git add를 하기 전 상태를 비교합니다.git diff② add 한 후의 변경 사항 확인 (Staging Area)이..
협업을 하다 보면 "이 로직은 왜 이렇게 작성되었을까?" 혹은 "이 설정값은 누가 바꾼 거지?" 하는 의문이 드는 순간이 있습니다.이때 코드의 모든 줄을 전수조사하여 작성자와 시점을 알려주는 기능이 바로 git blame입니다. 1. git blame이란?blame은 사전적으로 '비난하다'라는 뜻을 가지고 있지만, Git에서는 "파일의 각 라인을 마지막으로 수정한 사람이 누구인지 보여주는 기능"입니다.이 명령어를 사용하면 파일의 왼쪽 줄 번호 옆에 다음과 같은 정보가 표시됩니다.Commit Hash: 해당 줄을 수정한 커밋의 고유 IDAuthor: 수정한 사람의 이름Timestamp: 수정된 날짜와 시간 2. 실전 사용법① 기본 사용법특정 파일의 전체 히스토리를 보고 싶을 때 사용합니다.git blame..
수많은 커밋 중에서 "이게 1.0 버전이었나? 아니면 그 다음 거였나?" 하고 헷갈린 적 없으신가요?오늘 배울 git tag를 활용하면, 수만 개의 커밋 속에서도 우리가 배포한 버전들을 한눈에 찾아낼 수 있습니다. 1. Tag란 무엇인가요?Tag는 특정 커밋에 붙이는 이름표입니다.커밋 아이디(a1b2c3d...)는 사람이 읽기 어렵지만, 태그로 v1.0, v2.1 같은 이름을 붙여두면 나중에 해당 시점으로 돌아가거나 관리하기가 매우 쉬워집니다.Lightweight 태그: 단순히 이름만 붙이는 태그 (임시용)Annotated 태그 (추천): 작성자 이름, 이메일, 날짜, 메시지까지 포함하는 태그 (배포용) 2. 사용법 (실전 예제)① 배포용 태그 만들기 (Annotated)보통 실무에서는 이 방식을 사용합..
열심히 코드를 짜고 있는데 갑자기 팀장님이 달려옵니다."지금 운영 서버에 치명적인 버그가 터졌어! 하던 거 멈추고 이것부터 고쳐줘!"이때 여러분은 어떻게 하시나요?에러가 나는 미완성 코드를 억지로 Commit 한다? (나중에 합칠 때 골치 아파집니다.)작업하던 걸 다 지우고 다시 시작한다? (절대 안 되죠!)이럴 때 사용하는 임시 저장소, Stash(스태시)를 소개합니다. 1. Stash란 무엇인가요?Stash는 "안전 금고" 혹은 "임시 보관함"입니다.현재 작업 중인 변경 사항(Staging Area + Working Directory)을 잠시 어딘가에 숨겨두고,작업 트리를 깨끗한 상태(마지막 커밋 상태)로 되돌려줍니다. 2. 사용법 3단계: 넣고, 확인하고, 꺼내기① 작업물 넣기 (숨기기)작업 중이던..
git reset --hard로 코드를 날려버린 순간, 등줄기에 식은땀이 흐르셨나요?걱정하지 마세요.Git에는 "삭제된 기록조차 기록하는" 비밀 장부가 숨겨져 있습니다. 우리는 보통 git log를 통해 과거를 봅니다.하지만 reset --hard로 지워버린 커밋은 git log에서도 사라져 버리죠.이때 필요한 것이 바로 Reflog(Reference Log)입니다. 1. Reflog란 무엇인가요?Reflog는 HEAD가 움직인 모든 발자취를 기록하는 로컬 임시 저장소입니다.쉽게 말해, "여러분이 실수로 지운 행위"까지도 Git은 몰래 다 기록하고 있다는 뜻입니다.마치 건물의 CCTV처럼 말이죠. 2. 복구하는 방법 (Step-by-Step)자, 방금 실수로 reset --hard를 해서 코드가 날아간 ..
"아차, 비밀번호를 적은 채로 커밋했네?""오늘 짠 코드 3개는 전부 엉망이야, 아침 상태로 돌아갈래!"개발을 하다 보면 과거로 돌아가야 하는 순간이 반드시 옵니다.Git에는 시간을 다루는 두 가지 마법, Reset(기록 삭제)과 Revert(취소 기록 생성)가 있습니다.이 둘을 상황에 맞춰 골라 쓰는 법을 마스터해 봅시다. 1. 시간을 아예 삭제하는 git resetReset은 말 그대로 시계를 특정 시점으로 되돌리는 것입니다. 돌아간 시점 이후의 모든 기록은 삭제됩니다.✅ 특장특징: 히스토리가 깔끔해집니다.사용처: 나 혼자 작업하는 로컬 브랜치 (아직 GitHub에 Push 하기 전).주의: --hard 옵션은 작성 중인 코드까지 모조리 지워버리므로 신중해야 합니다.✅ 상황별 옵션 (매우 중요)--s..
