| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 29 | 30 |
- html
- math
- 자바
- 스프링부트
- Array
- 정규식
- junit
- 단위테스트
- CSS
- list
- junit5
- 테스트자동화
- IntelliJ
- HashMap
- 자바문법
- string
- Java
- 배열
- js
- ArrayList
- 자바스크립트
- SpringBoot
- java테스트
- Eclipse
- javascript
- 문자열
- 인텔리제이
- input
- Visual Studio Code
- vscode
- Today
- Total
목록IT/Git (32)
어제 오늘 내일
협업을 하다 보면 "다른 브랜치에 있는 저 기능 딱 하나만 가져오고 싶은데..." 라는 생각이 들 때가 있습니다. 브랜치 전체를 병합(Merge)하기엔 아직 미완성된 코드가 많아 부담스러울 때가 있죠.이럴 때 사용하는 기능이 바로 Git Cherry-pick입니다. 말 그대로 체리 바구니에서 맛있는 체리(커밋)만 쏙 골라내는 것처럼, 특정 커밋만 내 브랜치로 가져오는 기술입니다.이번 포스팅에서는 cherry-pick의 개념과 실전 사용법, 그리고 충돌 해결 꿀팁까지 정리해 드리겠습니다. 보통 브랜치를 합칠 때는 merge를 사용합니다. 하지만 merge는 브랜치의 모든 역사를 가져오기 때문에, 특정 버그 수정 사항만 긴급하게 배포 브랜치로 가져와야 할 때는 부적절할 수 있습니다.이때 cherry-pic..
프로젝트를 진행하다 보면 기능 추가(feature), 버그 수정(hotfix) 등으로 인해 수많은 브랜치(Branch)가 생겨나게 됩니다. 할 일을 다 마친 브랜치를 방치하면 나중에 "feature-login이 최신인가? 아니면 feature-login-new가 최신인가?" 하며 헷갈리는 순간이 오죠.이번 포스팅에서는 다 쓴 브랜치를 깔끔하게 삭제하는 방법을 로컬(Local)과 원격(Remote)으로 나누어 완벽하게 정리해 드리겠습니다. 브랜치 삭제는 크게 내 컴퓨터에 있는 '로컬 브랜치'와 GitHub 같은 서버에 있는 '원격 브랜치' 삭제로 나뉩니다. 명령어 한 줄이면 프로젝트가 훨씬 쾌적해집니다! 1. 로컬(Local) 브랜치 삭제하기내 컴퓨터에 저장된 브랜치를 지우는 방법입니다. Git은 안전..
개발을 하다 보면 "일단 저장(save)", "오타 수정", "버그 수정의 수정" 같은 자잘한 커밋들이 쌓이기 마련입니다. 혼자 볼 때는 괜찮지만, 나중에 Pull Request를 보내거나 동료가 내 코드를 볼 때 민망했던 적 있으시죠? 이번 포스팅에서는 여러 개의 지저분한 커밋을 깔끔하게 하나로 합치는 'Squash(스쿼시)' 기술을 소개합니다. 이 기능을 익히면 여러분의 Git history가 예술처럼 깔끔해질 것입니다. 커밋을 합치는 방법은 크게 두 가지가 있습니다.정석적인 방법: Interactive Rebase 사용하기쉬운 야매(?) 방법: Reset --soft 사용하기가장 많이 사용되는 Rebase 방식부터 차근차근 알아보겠습니다. 방법 1. 정석대로 합치기 (git rebase -i)가..
개발을 하다 보면 "아차!" 하는 순간이 찾아옵니다. 잘못된 코드를 커밋했거나, 아예 커밋하기 전으로 시간을 되돌리고 싶을 때가 있죠.이번 포스팅에서는 Git에서 커밋을 취소하는 두 가지 방법, Reset과 Revert의 차이와 사용법을 확실하게 정리해 드리겠습니다. 상황에 맞춰 골라 쓰시면 됩니다! 커밋을 취소하는 방법은 크게 두 가지가 있습니다.Reset: 시간을 아예 과거로 되돌립니다. (기록이 사라짐)Revert: 취소했다는 기록을 남기고 되돌립니다. (기록이 남음)이 두 가지를 언제, 어떻게 써야 하는지 알아볼까요? 1. 나 혼자 작업 중일 땐: git resetreset은 타임머신과 같습니다. 특정 시점(커밋)으로 돌아가고, 그 이후의 역사는 지워버립니다. 혼자 쓰는 브랜치에서 기록을 깔끔하..
커밋 메시지를 남기자마자 오타를 발견했거나, 빠뜨린 파일이 생각나서 '아차!' 했던 적 있으시죠?그럴 때 커밋을 하나 더 만들지 않고 깔끔하게 방금 전 커밋을 수정하는 방법이 바로 amend입니다. 1. 커밋 메시지만 바꾸고 싶을 때코드 변경 없이 방금 적은 메시지만 수정하고 싶다면 터미널에 이렇게 입력하세요.git commit --amend -m "수정할 새로운 메시지"결과: 이전의 잘못된 메시지는 사라지고, 새로운 메시지로 깔끔하게 바뀝니다. 2. 깜빡하고 빠뜨린 파일을 추가하고 싶을 때파일 하나를 빼놓고 커밋했을 때, '커밋 - 수정 - 또 커밋' 하는 대신 이렇게 해보세요.빠뜨린 파일을 평소처럼 스테이징(Staging)합니다.git add 빠뜨린파일.javaamend 명령어를 실행합니다.git c..
열심히 커밋을 남겼는데 오타를 발견했거나, 규칙을 깜빡하고 '수정'이라고만 적어버린 적 있으시죠? 당황하지 마세요. Git에는 과거를 되돌릴 수 있는 강력한 타임머신 기능이 있습니다.상황별로 가장 자주 쓰이는 세 가지 해결책을 깔끔하게 정리해 드립니다. 1. 방금 만든 커밋 메시지 수정하기 (--amend)가장 많이 발생하는 상황입니다. 방금 'commit' 버튼을 눌렀는데 바로 오타를 발견했을 때 사용합니다.명령어: git commit --amend -m "새로운 메시지"설명: 이 명령어를 치면 방금 올린 커밋이 사라지고, 새로운 메시지가 담긴 커밋으로 덮어쓰기 됩니다. 코드 변경 없이 메시지만 바꾸고 싶을 때 아주 유용합니다. 2. 조금 지난 과거의 메시지 수정하기 (rebase -i)방금 전이 아니..
개발을 하다 보면 내가 짠 코드인데도 "이걸 왜 수정했더라?" 하며 당황할 때가 있습니다. 혹은 동료가 올린 'commit' 메시지에 '수정', 'test'라고만 적혀 있어 답답했던 경험, 다들 한 번쯤 있으시죠?좋은 커밋 메시지는 미래의 나, 그리고 동료를 위한 최소한의 예의이자 협업의 핵심입니다. 오늘은 누구나 바로 따라 할 수 있는 쉬운 커밋 메시지 규칙을 소개합니다. 1. 제목에 '말머리'를 달아주세요 (Type)메시지 맨 앞에 이 커밋이 어떤 성격인지 알려주는 단어를 붙여주세요. 이것만으로도 코드의 의도가 명확해집니다.Feat: 새로운 기능을 만들었을 때Fix: 버그를 고쳤을 때Docs: 문서(README 등)를 수정했을 때Style: 코드 로직은 그대로인데 줄 바꿈이나 세미콜론 등을 정리했을 ..
Github에 프로젝트를 올리다 보면 절대 올라가서는 안 되는 파일들이 있습니다.나만의 비밀번호나 API Key가 적힌 보안 파일용량만 차지하는 빌드 파일 (build, dist 등)라이브러리 모음 폴더 (node_modules 등)OS가 자동으로 만드는 시스템 파일 (.DS_Store)이런 파일들을 Git이 "못 본 척" 무시하게 만드는 설정 파일이 바로 .gitignore 입니다. 오늘은 이 파일을 제대로 사용하는 방법을 알아보겠습니다.1. .gitignore 파일 만들기사용법은 아주 간단합니다. 프로젝트의 최상위 루트 폴더(보통 .git 폴더가 있는 곳)에 이름이 .gitignore인 파일을 하나 생성하면 됩니다.주의: 파일 이름 앞에 점(.)이 꼭 있어야 하며, 확장자(.txt 등)가 없어야 합니..
열심히 코딩해서 만든 내 컴퓨터(로컬) 속의 프로젝트,어떻게 Github(원격 저장소)에 안전하게 백업하고 공유할 수 있을까요?오늘은 이미 내 컴퓨터에 작업해 둔 폴더/프로젝트를 Github의 새 레포지토리(Repository)에 올리는 방법을 단계별로 알아보겠습니다.1. Github에서 새 레포지토리(Repository) 만들기가장 먼저 Github 웹사이트에 접속해서 프로젝트를 담을 그릇을 만들어야 합니다.Github 메인 페이지 우측 상단의 + 버튼을 누르고 [New repository]를 클릭합니다.Repository name에 원하는 프로젝트 이름을 입력합니다.중요: 기존 프로젝트를 올릴 때는 Add a README file, .gitignore, License 등의 체크박스를 모두 해제(체크하..
Git을 사용하다 보면 가장 헷갈리는 것 중 하나가 바로 "서버에서 코드를 가져오는" 이 두 명령어의 차이입니다. 결론부터 말씀드리면, fetch는 '확인만 하기', pull은 '가져와서 합치기'입니다. 1. 한 눈에 보는 차이점 명령어 동작 원리 특징 git fetch 원격 저장소의 최신 이력을 로컬로 가져오기만 함 내 소스 코드는 변하지 않음 (안전) git pull fetch + merge 원격 내용을 가져와서 내 코드에 바로 합침 (편리함) 2. 자세히 알아보기① git fetch (가져오기)서버에 어떤 변화가 있는지 정보만 업데이트합니다. 실제 내 파일 내용이 바뀌지는 않기 때문에 매우 안전합니다."남들이..