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..

    [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 (원..

    [Git] Git GUI SourceTree 설치 및 사용법

    Git GUI Git은 기본적으로 CLI(Command Line Interface)에서 사용 가능하지만, GUI(Graphic User Interface) 환경에서도 사용가능 하도록 많은 프로그램들이 있다. Sourcetree, Github Desktop, GitKraken 등이 있다. Github Desktop은 제공하는 기능이 한정적인데 비해, Sourcetree는 사용할 수 있는 기능이 많아 많은 사람들이 사용한다. GitKraden은 UI가 화려한 것을 선호하는 개발자들이 많이 사용한다. 예전부터 많이 사용해오던 Sourcetree를 설치해보고 사용 방법에 대해 간단히 알아보려 한다. SourceTree 다운로드 및 설치 1) 다운로드 - SourceTree 홈페이지에서 설치 프로그램을 Downl..