Programming/Git

    [Git] Rebase로 브랜치 병합하기 / Rebase vs Merge 차이

    1. Rebase란? re-base, 베이스를 재배치하는 명령어 한 브랜치에서 다른 브랜치로 합치는 Merge가 아닌 다른 방법 🔎 Merge vs Rebase master에서 merge 실행하면, 다음 그림처럼 n3라는 브랜치를 병합하는 새로운 커밋이력이 생성됩니다 master에서 rebase를 실행하면, 다음 그림처럼 rebase_branch를 base로 커밋을 재정렬합니다 Rebase를 하면 commit 이력이 깔끔해집니다 하지만 rebase를 실행하면 커밋도 새로 생성되고 이력도 재정렬되기 때문에 커밋트리가 달라지므로 master에서 rebase를 실행하는 것은 피하도록 하자❗ 2. Rebase의 사용 2.1 새 브랜치에 소스 반영 rebase_branch 를 새로 따서 2개의 commit을 진행..

    [Git] Squash Commit / Merge : 여러 개의 Commit 합치기

    이미 Commit 했는 데 추가적인 수정사항이 있거나 요건이 추가되어 여러 개의 Commit으로 이력이 너무 지저분해진 경우, Squash하여 하나의 Commit으로 이력을 깔끔하게 관리할 수 있습니다 😋 0. Squash 여러 개의 Commit을 하나의 Commit 이력으로 만드는데 사용하는 방법 가능하다면 원격 저장소에 push하지 않은 작업만 squash하기를 추천합니다 (push / pull 과정이 번거로워요) 여러 Commit을 Squash 할 수 있는 두 가지 방법을 소개하겠습니다 1. Rebase를 통한 Squash 2. Squash 옵션을 사용한 Merge 1. Rebase를 통한 Squash 다음처럼 3개의 commit을 확인해두었습니다 ( First ~ Third Commit : 합칠거..

    [Git] 원격 저장소까지 반영된 commit 되돌리기(Git Reset)

    remote 저장소까지 반영된 commit을 되돌릴 때에는 기록이 남도록 Revert하는 것이 맞지만? 흔적도 없이,,,,commit을 없애버리고 싶을 때,,,쓰는 방법을 기록해둡니다 원격 저장소에 반영된 Commit 되돌리는 방법 0. 되돌릴 commit 확인 아래 명령어로 몇 개의 commit을 되돌릴 건지 확인합니다 git log "I wanna remove this Commit" commit이 아래 사진에서처럼 원격 저장소까지 반영되었음을 확인할 수 있습니다 🤣 1. git reset 되돌릴 commit 수만큼 다음 명령어를 실행합니다 git reset HEAD~{되돌릴 commit 수} 명령어 실행 후, log를 확인해보면 해당 commit이 삭제된 것을 확인할 수 있습니다 🔎 Reset 할 때..

    [Github] Issue 및 Issue Branch 생성하여 프로젝트 관리하기

    여러 사람과 함께 프로젝트를 할 때 브랜치명 만으로는 어떤 기능을 개발 중인지 알기 어렵죠 issue를 생성하여 개발할 기능에 대한 요건 등을 정리하고 해당 issue에 대한 branch를 생성하여 관리하면 내가 개발 중인 issue에 대한 관리도 쉽고, 다른 사람이 내 issue를 관리할 때에도 편하더라구요 😆 1. Issue Github에서는 issue를 통해 프로젝트에서 발생하는 문제(개발, 버그 등)를 관리할 수 있습니다 ▶ 공식 문서에서의 정의 : Use GitHub Issues to track ideas, feedback, tasks, or bugs for work on GitHub. Issues let you track your work on GitHub, where development h..

    [Git] Cherry-pick 변경사항 다른 브랜치에 반영하기 / 충돌(Conflict) 해결

    이전에는 사용한 적 없는데, 회사에서 소스관리하면서 가장 많이 사용하는 명령어 cherry-pick❗ 사수님이 '체리픽' 알아두라고 했을 땐 체리..?🍒잘못들었나보다 그게 뭐람 했었는데 ㅋㄷㅋㄷ 잘 쓰는 중입니다 😉 1. Cherry-pick 다른 브랜치의 commit을 특정 브랜치에 적용할 때 사용하는 명령어 git cherry-pick 프로젝트에서 개발 브랜치에 commit하고 해당 기능이 잘 동작하는지 확인한 후에는 운영 브랜치에도 반영을 해야 하는데, 이 상황에서 다른 commit들로 인해 브랜치를 통째로 merge하지 못하거나 하는 등의 상황이 있죠 그럴 때 하나의 commit 만을 다른 브랜치로 반영할 수 있는 명령어 ! 🍒 2. cherry-pick 사용법 2.1. 변경사항 commit gi..

    [Git] 윈도우에 Git 설치 및 사용자 이름/이메일 등록

    이번에 노트북을 한번 포맷하면서 개발 툴들을 다시 설치하는 중입니다 😑 (귀찮아..) 시간되는대로 개인 프로젝트도 하고싶기 때문에! 소스관리를 위한 Git 설치는 피할 수 없죠 고고 1. Git Downloads 설치파일 다운로드 아래 링크로 들어가 운영체제에 맞는 최신 버전의 Git 설치파일을 다운로드 합니다 📌 Git - Downloas : https://git-scm.com/download/ Git - Downloads Downloads macOS Windows Linux/Unix Older releases are available and the Git source repository is on GitHub. GUI Clients Git comes with built-in GUI tools (git..

    [Github] IntelliJ에서 Github 사용하기 (인텔리제이에서 깃허브 사용하기)

    프로젝트와 깃허브를 연동할 겁니다 Github 계정이 없다면 가입이 먼저 필요합니다 계정이 있다고 생각하고 진행합니다 🏃‍♀️🏃‍♂️ 1. Action 검색창 열어 share project on github을 검색한다 Action 검색창을 여는 단축키는 윈도우에서 [Ctrl + Shift + A] , 맥에서 [Command + Shift + A] share project on github를 검색해서 클릭! 2. Github 로그인하고 깃허브 프로젝트 생성 Add account에서 Log In via Github로 들어가면 깃허브 로그인 화면이 나옵니다 본인 깃허브 계정으로 로그인을 합니다 Repository name을 설정하고 Share 클릭 대부분은 프로젝트 이름과 깃허브 저장소에 같은 이름을 사용한다..

    [Github] README란? README.md 작성법

    README 란? Github에 프로젝트를 올릴 때, 프로젝트에 대한 설명뿐 아니라 사용 방법, LICENSE 등의 내용을 기술하는 파일이다. README를 작성해야 하는 이유 어떤 프로그램을 사용하거나 오픈소스를 참고하기 위해 G ithub Repository에 들어간다면, 가장 먼저 확인하는 것이 README 파일이다. 다른 사용자들이 내 오픈소스 프로젝트에 대한 정보를 얻기 위해, 해당 프로젝트에 대해 함께 협업하는 동료에게 정보를 주기 위해, 나중에 다시 내가 프로젝트를 다시 열었을 때 떠올리기 용이하기 위해 README를 잘 작성해 둘 필요가 있다. 일반적인 README 구조 1. 프로젝트 Description - 프로젝트 명 - 어떤 프로젝트인지 소개 2. 프로젝트 정보 - 설치(Getting..

    [Git] 자주 사용하는 Git 명령어 모음

    주로 윈도우 환경에서 소스트리로 쉽고 간단하게 작업하지만 우분투에서는 따로 git 관련 툴을 설치하지 않고 커맨드 창으로만 git을 사용하고 있습니다 그래서 자주 사용하는 명령어들만 따로 정리해두려고 합니다 😎 Git 명령어 ㆍ Git clone $ git clone [REPOSITORY_URL] ㆍ 현재 Git 상태 확인 $ git status ㆍ 해당 파일을 Staging Area로 이동 (Tracking) / 폴더 파일 전체 이동 $ git add 파일명 $ git add . ㆍ 저장소에 commit $ git commit $ git commit -m "커밋 메시지" ㆍ push $ git push $ git push -u 원격저장소명 로컬브랜치명 ㆍ pull $ git pull ㆍ fetch (원..

    [Jekyll] Jekyll와 Github로 만드는 깃허브 블로그 - (3) 글씨체 변경

    글씨체에 대한 설정이 없어서 윈도우에서 크롬으로 TIL 블로그에 들어가면 한글 글꼴이 깨진듯 이상하더라구요 😢 해결하기 위해 간단한 방법으로 웹폰트를 적용했습니다! 구글 폰트에서 원하는 폰트 가져오기 저는 이 폰트로! 폰트를 골라 Select this stlye을 누르고 @import를 눌러 나오는 url 주소를 복사해둡니다 CSS 파일에 다음과 같은 코드를 붙여넣습니다 제 앞선 글들과 동일한 사이트를 생성하셨다면, css > main.scss 파일에 넣으시면 됩니다! @font-face { font-family: 'Noto Sans KR'; src: url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100&display=swap'); fo..