Git 5

[git] merge VS rebase

브랜치를 병합할 때, rebase와 merge는 흔히 사용이 되는 명령어들이다. 하지만 헷갈릴 수 있으니, 이번 포스팅에서 두가지 명령어의 차이점에 대해서 간단히 포스팅 하겠다.mergemerge는 말 그대로 브랜치를 합치는 작업을 한다. 특징은 각각의 브랜치의 커밋 히스토리가 모두 남는다.예를 들면, main branch가 있고, 이 브랜치에서 파생된 ui-feature 브랜치가 있다고 해보자.이 ui-feature 브랜치에서 작업을 했다고 가정하면, 그냥 이렇게 merge를 해줄 수 있다.git switch maingit merge ui-feature Fast forward merge Non-fast forward merge [conflict가 없는 경우]브랜치를 main으로 바꾸고, ui-feat..

Git 2025.05.27

[github] fork, upstream & pull request 간단히 이해하기

만약에 open source 프로젝트들에 기여를 하고 싶으면 어떻게 시작해야 할까??java의 open source 프로젝트인 spring-ai프로젝트로 예시를 들어보겠다.forkfork는 깃허브에 올라와 있는 리포를 단순히 내 깃허브 계정으로 복제한다는 뜻이다.이런식으로 현재 (5/24/25) 시각으로 spring-ai 깃허브 리포에 들어가보면, 이렇게 fork하는 옵션이 있다. Fork를 누르고 기본값 세팅을 다 클릭해주면, 이런식으로 내 게정 아래 forked된 리포에 들어가볼 수 있다: spring-ai 밑에 "forked from spring-projects/spring-ai"를 볼 수 있다. 자 이제, 이 fork로 복제된 리포에 수정사항을 추가하고 싶으면, 로컬 디렉토리에 가서 clone..

Git 2025.05.24

[github] fetch VS pull (+origin)

originGit에서 원격 저장소(remote repository) 는 GitHub 같은 클라우드 기반 저장소를 말한다.보통 로컬 저장소와 연결되는 첫 번째 원격 저장소 이름은 기본적으로 origin 이다. 예를 들면,git clone https://github.com/myname/myrepo.git 이렇게 클론을 했을 때, 자동으로 remote (원격 저장소) 이름은 origin으로 설정된다.origin은 그냥 별명이기 때문에, git remote rename origin banana 같은 명령어로 banana로 이름을 바꿔도 된다. 하지만 git clone을 하지 않고 직접 내 로컬과 원격 저장소에 연결시키고 싶을 때는, git remote add origin을 하면 된다:git remote add ..

Git 2025.05.23

[git] git workflow, git status & diff 정리

3 가지 영역깃 워크플로우는 기본적으로 3가지 영역으로 나뉘어져있다.[Working Directory] → [Staging Area] → [Repository] 1. Working Directory (작업 디렉토리)현재 내가 파일을 다루는 (수정,삭제 등) 디렉토리이다.내가 작업한 내용물들을 git add 혹은 git add . (다 올리기)로 이 staging area로 보낼 수 있다.2. Staging AreaGit이 다음 커밋에 포함할 파일을 미리 골라두는 장소다.깃 리포에 저장이 되기 전에 올라가는 '임시 저장소'라고 보면 된다.staging 하지 못한 파일들은 commit할 수 없다!내가 작업한 내용물들을 git add 혹은 git add . (다 올리기)로 이 staging area로 보낼..

Git 2025.05.23

[git] Local congifuration 정리

git을 사용하고 싶으면 먼저 로컬 프로젝트 폴더에 깃 저장소를 초기화시켜주어야 한다.먼저 이런 명령어들을 입력해보자:git initgit config --global user.name "" git config --global user.email "" git init- 이 커맨드는 ".git"이라는 숨겨진 폴더를 새로 생성하고, 깃이 버젼 관리를 위해 필요한 모든 메타데이터가 이 안에 들어간다.- 이미 git init한 폴더에 다시 git init을 하는 것은 권장되지 않는다. git config- git의 설정을 지정하는 명령어이다.- --global 옵션은 전체 컴퓨터에 적용되는 전역 설정이다. - 과 대신 각각 자신의 이름 + 이매일을 적어주면 된다. - 현재 폴더 상관없이 깃만 깔려 있으면 사용..

Git 2025.05.23