Tools/Git, GitHub 11

[TIL] 터미널에서 커밋 로그 깔끔하게 보기

git log --graph --abbrev-commit --decorate --format=format:"%C(cyan)%h%C(reset) - %C(green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(yellow)%d%C(reset)" --all 터미널에 위 명령어를 입력하면.. # 설정 git config --global alias.history 'log --graph --abbrev-commit --decorate --format=format:"%C(cyan)%h%C(reset) - %C(green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(yel..

Tools/Git, GitHub 2022.09.18

[TIL] Git Flow 브랜치 전략

Git Flow란 규모가 큰 프로젝트를 관리하는 가장 대표적인 브랜치 전략으로 크게 5가지 브랜치를 사용한다 main: 제품으로 출시될 수 있는 브랜치 develop: 다음 출시 버전을 개발하는 브랜치 feature: 기능을 개발하는 브랜치 release: 이번 출시 버전을 준비하는 브랜치 hotfix: 출시 버전에서 발생한 버그를 수정하는 브랜치 Reference🔽 우린 Git-flow를 사용하고 있어요 | 우아한형제들 기술블로그 {{item.name}} 안녕하세요. 우아한형제들 배민프론트개발팀에서 안드로이드 앱 개발을 하고 있는 나동호입니다. 오늘은 저희 안드로이드 파트에서 사용하고 있는 Git 브랜치 전략을 소개하려고 합 techblog.woowahan.com

Tools/Git, GitHub 2022.07.18

[TIL] 커밋 메시지 컨벤션

인턴을 하면서 Git 협업에 필요한 커밋 메시지 컨벤션을 정리해보았다 메시지 구조 3가지 파트로 나누고 각 파트는 빈 줄로 구분 type: subject body (옵션) footer (옵션) type : 커밋한 목적 subject 최대 50 글자, 마침표 X 영문으로 표기하는 경우 동사를 가장 앞에 두고 첫글자 = 대문자 body : 긴 설명이 필요한 경우에 작성 어떻게 했는지가 아니라, 무엇을 왜 했는지 작성 최대 75 글자 footer : issue tracker ID를 명시하고 싶은 경우에 작성 "유형: #이슈 번호" 형식 사용 여러 개의 이슈 번호 적을 땐 쉼표 구분 Fixes: 이슈 수정중 (아직 해결되지 않은 경우) Resolves: 이슈를 해결했을 때 사용 Ref: 참고할 이슈가 있을 때 ..

Tools/Git, GitHub 2022.01.05

[Codeit/Git] #7 Git 자유자재로 활용하기

git reset을 하고 다시 돌아오려면? git reset --hard를 하더라도 이후 커밋들이 사라지는건 아니기 때문에 다시 되돌릴 수 있다 따라서 커밋 아이디만 알고 있다면 최근 커밋으로 reset해서 돌아올 수 있지만,, 아이디도 까먹은 상태라면 git reflog를 활용하자 작업 내용 임시 저장하고 브랜치 이동하기 특정 브랜치에서 작업을 하던 도중에 브랜치를 변경하면 작성 중인 내용이 날아갈 수 있다! 이런 경우 git stash를 활용해 작업 내용을 임시 저장해주자 스택에 작업 내용을 저장하고 다른 브랜치의 작업을 한 후 다시 해당 브랜치로 돌아와서,, 이를 응용하면 잘못된 브랜치에서 작업하고 있었을 때 작업 내용을 stack으로 보내버리고 브랜치를 변경한 후 stash apply를 해주는 것..

Tools/Git, GitHub 2021.06.08

[Codeit/Git] #6 Git 협업하기

협업 중 커밋 변화가 겹치는 경우 이 상태에서 먼저 git pull을 시도하면 merge conflict가 발생하는데.. 그렇다면 conflict가 발생하는 파일을 수정하고 커밋 후 git push하면 된다! pull하기 전에 브랜치 미리보기 협업 중 무작정 git pull을 하면 원하지 않는 변화가 merge될 수도 있다! remote repository를 pull하기 전에 브랜치 내용만 가져와서 먼저 보고 싶다면.. git fetch를 입력하고 git diff [브랜치 이름] [origin/브랜치 이름]을 입력하면.. +++ git blame [파일 이름] or git show [커밋 아이디]를 통해서 누가 어떤 변화를 커밋했는지 확인할 수 있다 Remote Repository에 올라간 커밋 취소하기..

Tools/Git, GitHub 2021.05.31

[Codeit/Git] #5 브랜치 사용하기

브랜치란? 브랜치(branch)는 하나의 프로젝트에서 나뭇가지처럼 버전이 갈리는 것이다 'git branch [브랜치 이름]'을 입력해 새로운 브랜치를 생성하고.. 이후 ‘git checkout [브랜치 이름]’을 통해 원하는 브랜치로 이동할 수 있다! ~ 커밋이 따로따로 분기 적용된다 이런식으로 브랜치와 HEAD는 결국 커밋을 가리키는 포인터다! git branch -> 모든 브랜치 조회 및 현재 브랜치 확인 git checkout -b [브랜치 이름] -> 브랜치를 생성하면서 동시에 해당 브랜치로 이동 git branch -d [브랜치 이름] -> 해당 브랜치 삭제 git push origin --delete [브랜치 이름] -> GitHub에 올라간 해당 브랜치 삭제 브랜치 merge하기 git m..

Tools/Git, GitHub 2021.05.29

[Codeit/Git] #4 커밋 다루기

커밋 히스토리 살펴보기 커밋 히스토리 = 이때까지 한 커밋들 m 옵션 없이 커밋 메시지 남기기 i를 누르고 커밋 메시지를 작성한 후에 ‘:wq’를 입력하면 저장된다 ~ 이 방식을 사용하면 복잡하고 긴 커밋 메시지를 쉽게 남길 수 있다! 최신 커밋 자체를 수정하기 우선 파일을 수정한 후에.. ~ 커밋 메시지도 변경하면 최신 커밋이 수정된다! 커맨드에 alias 설정하기 예를 들어 ‘log --pretty=oneline’을 간단히 줄여서 반복적으로 사용하고싶다면.. git history --all --graph를 활용하면 여러 브랜치의 history를 한 눈에 볼 수 있다 이전 커밋으로 git reset하기 git reset --hard (커밋 아이디) -> 해당 커밋을 HEAD로 지정한다 아이디를 쓰기 귀..

Tools/Git, GitHub 2021.05.24

[Codeit/Git] #3 GitHub 시작하기

Remote Repository 만들기 Local Repository와 Remote Repository 연결하기 우선 GitHub에 빈 repository 하나를 생성해주자 (Create repository), readme파일은 생성X 로컬 레포지토리가 이미 존재하는 경우 아래 부분만 넣어줘도 된다! (Git Bash는 Insert로 붙여 넣을 수 있다) 리모트 변경하기 github 리모트 리포지토리 변경하기 github 리모트 리포지토리 변경하기. GitHub Gist: instantly share code, notes, and snippets. gist.github.com git push: Local Repository의 변경을 Remote Repository에도 반영하기 git pull: Remot..

Tools/Git, GitHub 2021.05.13

[Codeit/Git] #2 Git 써보기

repository와 commit Git이 버전 정보를 기록하는 공간이 repository다! 프로젝트 디렉토리의 현재 모습을 하나의 버전으로 남기는 동작 & 결과물이 commit이다! 이제 repository를 만들어보자! 디렉토리를 만들고 싶은 위치에 Git Bash를 열고 리눅스 명령어를 입력하자 mkdir a -> ‘a’라는 디렉토리를 생성 touch a -> ‘a’라는 파일을 생성 ls -> 디렉토리의 내용을 확인 cd a -> ‘a’ 디렉토리 안으로 이동 (‘cd .git’ -> git 디렉토리로 이동 / ‘cd ..’ -> 상위 폴더로 이동) git init -> 해당 디렉토리에 git 레포지토리를 생성 이제 commit을 해보자! 간단한 파이썬 계산기 코드(calculator.py)를 Ma..

Tools/Git, GitHub 2021.05.06