Git
Git Hook 으로 commit message 강제하기
Git Hook 으로 commit message 강제하기
2022.10.01Git hook 을 사용하여 협업시 commit template 의 통일성을 가져가려고 합니다. .git 폴더 밑에 .gitmessage 를 만들어 줍니다. # : ##### Subject 50 characters ################# -> | # Body Message ######## Body 72 characters ####################################### -> | # Issue Tracker Number or URL # --- COMMIT END --- # Type can be # feat : new feature # fix : bug fix # refactor: refactoring production code # style : formatting, mis..
master 브랜치와 premium 브랜치 둘다 push하기
master 브랜치와 premium 브랜치 둘다 push하기
2021.02.27master 를 github 에 push 한뒤 유료 버전 premium branch 도 git hub에 push 하겠습니다. git push 를 하게 되면 다음과 같은 error message 가 나왔습니다. 로컬 레포지토리(working directory) 에서 리모트 레포지토리 (github) 로 push 를 할려면 --set-upstream 이라는 옵션을 줘야합니다. 해당 옵션은 tracking 정보 설정을 위함 입니다. 그래야 git push 만으로도 push를 자동적으로 할수 있습니다. $git push --set-upstream origin premium premium branch 가 정상적으로 push 되었습니다. 마지막으로 log 를 살펴보겠습니다. premium branch에도 origi..
branch merge 하기
branch merge 하기
2021.02.27master branch 에서 나눗셈을 하는 devide 함수를 추가하겠습니다. 그런다음 git add . 를 하고 git commit 을 해주겠습니다. 그런데 이때 무료버전에 있는 모든 기능은 유료버전에 있어야 한다고 해봅시다. git 에는 어떤 branch 에서 한 commit 을 그대로 다른 branch에서 할수 있는 기능이 있습니다. premium 브랜치로 이동하겠습니다. $git checkout premium 아직 유료버전엔 devide function 이 없습니다. master branch의 devide function 을 premium branch에도 합쳐보겠습니다. git merge master 하지만 merge 를 할때 문제가 생길 수 도 있습니다. premium branch에서 devi..
branch 다뤄보기
branch 다뤄보기
2021.02.27현재 git 의 모든 branch를 조회하려면 $git branch 이번에는 새로운 test라는 branch를 만들고 삭제해보겠습니다. $git branch test , $git branch 이제 test branch를 삭제해보겠습니다. $git branch -d test branch의 옵션으로 d를 주면 test가 삭제됩니다. 여기서 -d는 delete의 줄임말로 삭제를 의미 합니다. 요기서 유용한 팁하나를 드리자면 보통 새로운 branch를 만들고나서 새로운 branch로 이동하는 경우가 많습니다. 그럴 경우 다음과 같은 명령어를 사용하시면 됩니다. $git checkout -b 새로운 브랜치 이름 checkout 은 branch를 이동할 때 쓰는 명령어 인데요 -b 옵션을 주면 branch test..
branch란?
branch란?
2021.02.27현재 브랜치 master 라는 뜻은 레포지토리를 만들고 커밋을 하면 자동으로 생기는 branch 입니다. branch는 나뭇가지라는 뜻을 가지고 있습니다. branch를 만들기 위해서는 다음과 같은 명령어를 입력해주시면 됩니다. $git branch 만들고싶은 프로젝트 이름 $git branch premium 유료 버전을 만들기위해서 premium 이라는 branch를 만들었습니다. 이렇게 만들게 되면 지금까지 작업한 내용들도 모두 premium이라는 branch에 속하게 됩니다. branch를 만들고 나서 중요한 일이 있는데 바로 barnch로 이동하는 것입니다. branch로 이동하는 명령어 $git checkout premium branch를 이동한뒤 현재의 상태를 보겠습니다. 아까와 달리 현재 브..
커밋에 tag 달그
커밋에 tag 달그
2021.02.27git commit 중간 정리 하기
이전 커밋으로 git reset 하기
이전 커밋으로 git reset 하기
2021.02.26$git reset --hard 가고싶은 커밋아이디 reset의 hard라는 옵션을 사용해야합니다. 바로 밑의 2020-02-23 의 커밋으로 돌아가보겠습니다. $git reset --hard 3c9f commit test 가 없어지고 HEAD 가 가르키는 방향이 2020-02-23 을 가르킵니다. git reset을 해야할때는 특정 구간 이후 로 맘에들지않아서 아예 과거로 돌아가고싶을때 git reset 에는 -- hard 말고도 2가지 옵션이 더있습니다. --hard --soft --mixed 이 옵션들의 차이점에 대해 이해하시려면 git 의 3가지 작업영역이 있다는걸 아셔야합니다. working directory stagin area repository --hard 옵션은 되도록이면 추천드리지 않는..
Head 의 의미
Head 의 의미
2021.02.26git 에서 head 는 어떤 커밋하나를 가르킵니다. ( 보통 가장 최근에 한 커밋을 가리킴) head 가 가르키는 주소가 다른걸 가르킨다면 working directory는 언제든 다르게 바뀔 수 있습니다. HEAD 가 가르키는 주소에 따라 working directory 가 변경됩니다.
두 커밋간 의 차이 보기
두 커밋간 의 차이 보기
2021.02.26$ git log commit hash 의 앞4자리를 기억하신뒤 $git diff 2ed7 6040 두 커밋간의 차이점을 볼수 있습니다.
git 의 3가지 작업영역
git 의 3가지 작업영역
2020.12.23Git은 내부적으로 크게 3가지 종류의 작업 영역을 두고 동작합니다. 각 작업 영역의 이름은 working directory staging area repository 첫 번째 작업 영역인 working directory는 작업을 하는 프로젝트 디렉토리를 말합니다. 그러니까 지금 상황에서는 MathTool 디렉토리가 working directory입니다. 두 번째 작업 영역인 staging area는 git add를 한 파일들이 존재하는 영역입니다. 커밋을 하게되면 staging area에 있는 파일들만 커밋에 반영됩니다. 세 번째 작업 영역인 repository는 working directory의 변경 이력들이 저장되어 있는 영역입니다. 그러니까 커밋들이 저장되는 영역이라는 뜻인데요. 조금 풀어서 설명..
github 입문하기
github 입문하기
2020.12.23git으로 버전 관리를 하기 위해선 폴더에 대한. git 레포지토리가 필요하고 여러 가지 버전별 작업이 이루어지는데 하나의 파일로 만 남기고 싶을 때 commit을 통해 하나의 버전으로만 남깁니다. 작업할 폴더에서 ternimal 을 열고 gitinit이라고 적어줍니다. . git repository 가 초기화되었습니다. 첫 commit에 필요한 것들 mathTool 폴더에 파일 두 개를 추가해보겠습니다. 더하기 빼기 함수가 적힌 python 파일과 라이선스가 무료라는 걸 보여주기 위한 Lisence.txt 파일을 저장했습니다. mathTool dir를 살펴보면 2개의 파일이 추가된 걸 확인해볼 수 있습니다. 현재 2개의 파일이 추가된 상태를 첫 번째 버전으로 남겨보겠습니다. 하지만 첫 commit을 하..