memo6759 님의 블로그
2025-09-22(자바 Stream, git) 본문
오늘의 리뷰
- InputStreamTest,
- InputStreamReaderTest=> InputStream과 InputStreamReader의 차이점,
- FileInputStreamTest2와 FileReaderTest의 비교,
- FileWriterTest,
- FileReader로 읽고 FileWriter로 쓰기=> FileCopy2와 FileCopy_BufferedReader,
- BufferedReaderTest,
- Grade로 연습
- FileInputStream은 바이트 단위로만 읽습니다.
- 영어/숫자는 큰 문제가 없지만, 한글은 UTF-8, EUC-KR 등 인코딩이 필요해서 깨질 수 있어요.
- 그래서 InputStreamReader 같은 문자 단위 스트림을 써야 합니다.
데이터 정제 작업
예전에는 깃말고 svm을 사용했는데
깃은 원격 저장소
- 작업 (ex eclipse) -> 로컬 저장소(git,으로 보낼 것들을 따로 모으는 것 스테이징 영역) -> 로컬저장소 -> 원격 저장소
- 작업 -> add -> git (스테이징 영역) -> commit -> 로컬저장소 - > push, pull -> 원격저장소(자기 깃허브 사이트)
Git & GitHub 기본 개념과 활용 정리
개발을 하다 보면 버전 관리와 협업은 필수입니다. Git과 GitHub는 이런 작업을 돕는 대표적인 도구인데요. 이번 글에서는 저장소(Repository), 브랜치(Branch), 스테이징(Staging) 개념부터 GitHub 사용 방법까지 차근차근 정리해보겠습니다.
1. 로컬 저장소(Local)와 원격 저장소(Remote)
- 로컬 저장소 : 내 PC 안에 있는 프로젝트 폴더. 내가 직접 코드 작성·수정하는 공간.
- 원격 저장소 : GitHub 같은 서버에 올려둔 저장소. 협업 시 다른 사람들과 공유되는 공간.
👉 원격 저장소를 프로젝트 하나의 "대표 폴더"라고 생각하면 쉽습니다.
2. 스테이징 영역(Staging Area)
- 변경한 파일을 바로 커밋하는 게 아니라, 스테이징 영역에 올려놓고 선택적으로 커밋할 수 있습니다.
- 명령어 git add → 스테이징에 올림
- git commit → 로컬 저장소에 반영
- git push → 원격 저장소에 업로드
즉, 작업 공간 → 스테이징 → 로컬 → 원격 이런 흐름을 따릅니다.
3. GitHub Pull과 Merge
- 원격 저장소의 최신 내용을 내 로컬 저장소로 가져올 때 git pull을 사용합니다.
- 이 과정에서 충돌(conflict)이 발생할 수 있는데, 직접 코드를 확인하고 수동으로 병합해야 합니다.
- 풀(Pull)은 "다운로드 + 병합"의 개념이라고 이해하면 됩니다.
4. 레포지토리(Repository)와 브랜치(Branch)
- Repository (레포지토리) : 프로젝트 단위의 저장소. 하나의 폴더, 혹은 여러 모듈을 포함한 멀티 저장소 형태도 가능합니다.
- Branch (브랜치) : 실제 작업이 올라가는 "작업 공간".
- 예: main(배포용), develop(개발용), 기능별 브랜치(feature/...) 등.
- 현업에서는 브랜치 전략을 통해 협업 효율을 높입니다.
5. Git 테스트와 저장소 세팅
- Git 테스트를 위해서는 저장소 초기화 → add/commit/push 순서를 연습해보는 게 중요합니다.
- 저장소 이름은 GitHub에서 자동으로 유효성 검사를 해줍니다.
- .gitignore 파일을 만들어서 불필요한 설정 파일(예: Windows 시스템 파일, Eclipse/IntelliJ 설정 파일 등)은 제외하고 올리는 것이 좋습니다.
6. IntelliJ 멀티 모듈 관리
- IntelliJ에서는 프로젝트 하나를 여러 모듈로 관리할 수 있습니다.
- 커뮤니티 버전은 원격 협업 기능이 제한적이지만, 기본적인 Git 연동은 가능합니다.
7. GitHub 기본 사용법
- GitHub 계정 생성 및 로그인(Sign in)
- 새 레포지토리(Repository) 생성
- 로컬에서 프로젝트를 생성하고 Git과 연동
- git add → git commit → git push 순서로 코드 업로드
- 파일을 수정하면 edit 버튼(연필 아이콘)으로 바로 편집 후 commit change 가능
- 문서에는 Markdown 문법을 활용 (제목은 #, 목록은 -, 코드 블록은 ```)
8. 브랜치 전략 예시
- main : 배포용 (항상 안정된 코드만)
- develop : 개발 브랜치 (통합 테스트 용도)
- feature/기능명 : 새로운 기능 개발용 브랜치
- hotfix : 긴급 버그 수정
9. 정리
- 로컬 ↔ 스테이징 ↔ 로컬 저장소 ↔ 원격 저장소 흐름을 잘 이해하는 것이 핵심
- 브랜치 전략과 .gitignore 관리로 협업 효율을 높일 수 있음
- GitHub는 Markdown 문법을 활용해 문서화까지 가능

레퍼지토리 생성




https://www.toptal.com/developers/gitignore/
gitignore.io
Create useful .gitignore files for your project
www.toptal.com
사이트는 개발자들을 위한 툴로, 프로젝트에 필요한 .gitignore 파일을 쉽게 생성해주는 서비스
- 프로젝트 종류(OS, 프로그래밍 언어, IDE 등)에 따라 필요 없는 파일들(예: 컴파일된 파일, IDE의 설정 파일, 로그, 빌드 결과물 등)을 Git 버전 관리에서 제외(exclude)하는 .gitignore 파일을 자동으로 만들어 줌.
- 여러 플랫폼/언어/IDE 조합을 한 번에 선택해서 .gitignore 내용을 조합 가능.


'HDC 학습일지' 카테고리의 다른 글
| 2025-09-23(깃허브 사용법) (0) | 2025.09.24 |
|---|---|
| 2025-09-22(학습 리뷰) (0) | 2025.09.23 |
| 2025-09-17(내장 함수 (0) | 2025.09.18 |
| 2025-09-17(컴프리헨션, 내장 함수,리스트, 튜플, 딕셔너리)-1 (0) | 2025.09.17 |
| 2025-09-16(python 기본) (0) | 2025.09.17 |