🌱 오늘의 주제 : Sourcetree를 이용한 Git 정리 🌱 Stage hunk란? Stage hunk란?SourceTree에서 **"Stage Hunk"**는 작업 디렉토리에서 변경된 특정 부분(hunk)만을 선택적으로 스테이징하는 기능입니다. 이를 통해 파일 전체가 아닌, 특정 부분의 변경 사항만 staging area로 옮겨서 커밋할 수 있습니다.선택적 커밋 관리파일의 변경 내용 중 일부만 스테이징하고 커밋하려는 상황에서 유용합니다. 예를 들어, 파일의 여러 부분을 수정했는데, 그 중 특정 부분만 먼저 커밋하고 나머지는 나중에 커밋하고 싶을 때 사용합니다.실험적 코드 제외작업 중에 시도한 실험적인 코드가 있을 때, 해당 부분은 스테이징하지 않고 필요한 변경 사항만 커밋할 수..
🌱 오늘의 주제 : Git submodule을 통한 application.yml 관리 🌱submodule 사용법 private repo 생성 application.yml과 같은 설정파일을 저장할 private repo를 github에 생성하고, 관리할 파일을 push 해둡니다. project repo에 서브모듈 등록 등록은 어렵지 않습니다. 서브모듈을 등록할 project dir에서 아래의 git 명령어를 사용해주면 됩니다. 상위 디렉토리에 하위 디렉토리가 자동으로 추가됩니다. git submodule add [서브 모듈로 등록할 github repository의 주소] 서브모듈의 변경사항을 상위 레포지토리에 가져오기 git submodule update --remote build.gradle 편집 빌드..
🌱 오늘의 주제 : gitignore 규칙 🌱 gitignore 규칙 1. ".gitignore" 이 파일은 ".git"이 존재하는 디렉토리에 위치하는 것이 일반적인 위치이나, 하위 폴더에 위치해도 해당 경로 기준으로 인식하기 때문에 위치에 관한 제한은 특별히 없다. 하지만 ".git"이 위치한 최상위에서 관리하는 것이 편리하기 때문에 관행적으로 root 위치에 위치시킨다. 2. gitignore 규칙 - # : 주석을 의미 - *.txt : txt라는 확장자를 가진 파일을 무시 - folder/ : 슬래시(/)가 뒤에 있기 때문에 폴더 아래까지 무시 - folder/*.txt : 해당 폴더 아래에 있는 txt라는 확장자만 무시 - /folder : 현재 경로에서 해당 폴더만 무시 - /*.txt : 현..
🌱 오늘의 주제 : git의 working flow 🌱 git의 working flow 🌱 fork, clone 차이 fork fork는 다른 사람의 Github repository에서 내가 어떤 부분을 수정하거나 추가 기능을 넣고 싶을 때 해당 respository를 내 Github repository로 그대로 복제하는 기능이다. fork한 저장소는 원본(다른 사람의 github repository)와 연결되어 있다. 여기서 연결 되어 있다는 의미는 original repository에 어떤 변화가 생기면(새로운 commit) 이는 그대로 forked된 repository로 반영할 수 있다. 이 때 fetch나 rebase의 과정이 필요하다. 그 후 original repository에 변경 사항을 적..
▶오늘의 주제 :Issue 할당 ▶ issue 가 뭔가요? 1단계. 누가 이 작업 할 것인지 정한다. - Issue 2단계. 각자 맡은 것을 작업한다. - Branch 3단계. 각자 작업을 프로젝트에 합친다. - merge (경우에 따라). 작업한 내용을 리뷰하고 최종적으로 프로젝트에 반영한다. - PR 후 merge 프로젝트에서 issue(이슈)는 프로젝트에서 해결해야하는 문제로 아래같은 것이 있어요. 버그(프로그램이 원하는 대로 동작하지 않는 것)를 신고 (Bug report, 버그 리포트) 기능 추가 등의 프로젝트 개선 제안 (enhancement) 위 문제들을 해결하기 위한 작업단위 개발자들은 이렇게 이슈라는 말을 사용하죠! "회원가입 기능에서 버그있네요. 이슈 등록해둘게요." 여기 버튼을 더 눈..
▶오늘의 주제 : 원격 repo 사용하기 ▶원격 repo와 로컬 repo 가 뭐예요? 'Git으로 관리되는 프로젝트' 를 Git 에서는 repo(리포, repository 리포지토리의 약자) 라고 부릅니다. 내 컴퓨터에 저장되어있는 리포지토리를 로컬 repo(local repository) 라고 합니다. Github 처럼 다른 곳에서 접속할 수 있는 공간에 저장되어있는 것을 원격 repo(remote repository) 라고 합니다. Git 도 클라우드 서비스로 두 군데의 내용을 동기화한 것처럼 원격 repo와 로컬 repo 를 연결시켜서 내용을 반영시킬 수 있어요. 로컬 repo 가 원격 repo 를 연결하는 것을 추적(Tracking, 트랙킹 / branch tracking) 이라고 해요. 로컬 r..
▶오늘의 주제 : 버전관리와 commit ▶ commit 하기 - 프로젝트 상태 저장 하단에 'commit 할 때 적는 메시지'를 commit 메시지라고 부릅니다. commit 메시지는 꼭 해당 commit 의 내용이 무엇인지 알 수 있도록 잘 적어주어야해요! 그래야 나중에 작업내역을 파악할 수 있습니다. ▶ commit 내역 보기 - commit history, commit id commit id : commit 을 구분하기 위한 유일한 값. 작업 일자 (날짜와 시간) 작업한 사람(작성자 author) 작업 내역 (commit 메시지) 작업 내역의 순서 : 해당 commit 의 직전 commit 이 무엇인지 정보 현재 commit 까지 Git 에 기록된 상태 즉, commit 한 내역을 한 눈에 볼 수..
▶오늘의 주제 : 버전관리와 commit - 개념탑재 ▶Git 은 어떻게 버전관리를 할까? Git 에서는 놀랍게도 버전별로 만들어줄 필요없이 중간중간 Git 을 사용해 현재 프로젝트의 상태만 저장해주면 됩니다. 파일 저장 버튼을 누르는 것처럼요! Git 에서는 '누가, 언제, 현재 프로젝트의 상태가 어떤지(현재 파일 내용들)' 세 가지 정보를 포함해 작업내역을 관리합니다. ▶ commit(커밋) 은 무엇일까? 현재 프로젝트 상태를 저장한 것을 commit(커밋) 이라고 표현해요. Git 은 commit(커밋) 을 통해 '현재 프로젝트의 상태'을 저장하고 조회합니다. '파일 저장' 버튼을 누르면 현재 상태의 파일이 저장되는 것처럼 현재 프로젝트의 상태를 저장할 수 있어요. 정확히는 snapshot(스냅샷)..