본문 바로가기

Tools/Git36

[Git] git commit 메시지 편집기 변경 git을 터미널 환경에서 사용할 때, 텍스트 편집기를 사용하게 된다. 커밋 메시지를 입력하거나 rebase를 할 때 등 에디터를 이용해 뭔가를 많이 한다. 윈도우 환경에서 우분투 WSL을 사용하는데 평소에 쓰지 않던 처음보는 에디터 화면이 보였다. 평소에는 vim 에디터를 사용하는데 뭔가 사용법이 달라서 어버버했다. 알고보니 우분투의 경우 nano 에디터가 기본 에디터로 지정되어 있었다. 이미 vim 단축키들이 반사적으로 나오는 단계여서 너무 불편했다. git 메시지 편집기 변경 git은 메시지 편집기를 지정해 사용할 수 있다. 익숙한 대로 vim이나 emacs 등의 에디터를 사용할 수 있다. $ git config --global core.editor "vim" 참고로 우분투의 기본 에디터를 변경하는 .. 2022. 6. 14.
[Git] github 위키 기능 및 사용법 소프트웨어 프로젝트에서 소스코드만큼 중요한 것이 개발문서다. 굳이 포스트를 할애하면서까지 개발문서의 중요성을 언급하지 않아도 개발문서의 중요성은 모두들 공감할 것이다. 특히 프로젝트의 규모가 클 수록, 프로젝트의 복잡도가 높을 수록, 프로젝트에 참여하는 멤버가 많을 수록 개발문서의 중요성은 커진다. 잘 작성된 개발문서는 커뮤니케이션 비용을 줄여주고, 버그를 생성할 가능성을 낮춰준다. 하지만 개발문서의 가장 큰 단점이 있었으니 바로 귀차니즘이다. 개발문서를 작성하는 일은 귀찮다. 개발자는 본능적으로 문서작성보다는 코딩을 좋아한다. 따라서 개략적인 설계안이 나오면 바로 코딩에 들어간다. 열심히 집중해서 코딩을 끝 마치고나면 개발문서 작성은 숙제로 남아있게 된다. 방학동안 신나게 놀고, 개학이 다가오면 남아있.. 2021. 11. 7.
[Git] Github CLI 설치 및 사용법 Github CLI는 터미널 환경에서 깃허브를 사용할 수 있도록 해주는 유틸리티다. Github CLI 설치 Github CLI는 패키지 관리자로 쉽게 설치할 수 있다. $ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key C99B11DEB97541F0 $ sudo apt-add-repository https://cli.github.com/packages $ sudo apt update $ sudo apt install gh 데비안 계열의 리눅스에서는 apt를 이용하면 된다. $ sudo dnf config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo $ sudo dnf .. 2021. 10. 18.
[Github] 저장소 기본 브랜치 변경 깃허브에 소스코드를 관리하다보면 기본 브랜치를 변경해야하는 경우가 더러 있다. 예를 들어, 깃허브는 기본 브랜치를 master로 설정한다. 하지만 코드 관리를 하다보면 실제 작업이 빈번하게 진행되는 브랜치는 develop 이라는 이름을 갖는 경우가 흔하며 master 브랜치는 develop 브랜치에서 릴리즈되면 반영되는 안정화된 코드들이 저장되는 경우가 많다. (참고 : A successful Git branching model) 이런 경우라면 깃허브 저장소의 기본 브랜치를 master에서 develop으로 변경하는게 여러모로 편하다. 설정을 안할 경우 기본적으로 기본 브랜치에 소스코드가 반영되며 PR 요청도 기본 브랜치로 적용된다. 기본 브랜치 변경 깃허브 웹 페이지에서 저장소의 기본 브랜치를 변경할 .. 2021. 10. 17.
[Github] 브랜치 보호 규칙 설정 - PR 리뷰 및 테스트 강제 여러 사람들이 동시에 같은 코드 베이스에서 작업을 하다보면 여러가지 문제가 생길 수 있다. 허락받지 않은 사람이 무질서하게 코드를 작성하고 머지하는 경우도 발생할 수 있다. 깃허브는 'Pull Request(PR)'라는 작업으로 코드를 머지할 때 리뷰를 받을 수 있는 장치를 제공하고 있다. 기본적으로는 PR을 받지 않고 코드를 머지할 수 있지만 중요한 코드의 경우 반드시 리뷰를 받고, 일정 테스트를 통과해야 코드를 머지할 수 있도록 설정할 수도 있다. Github 브랜치 보호규칙 깃허브는 공통의 코드베이스에 작업하는 개발자들이 질서있게 코드를 수정할 수 있도록 브랜치를 보호하는 규칙을 만들 수 있는 기능을 제공한다. 우선 깃허브 저장소에서 'Settings' 버튼을 눌러 설정 화면으로 간다. 저장소 설정.. 2021. 10. 16.
[Git] 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 happens 깃허브 이슈 깃허브 이슈 생성 개발자는 깃허브 저장소 페이지의 이슈 탭에서 새로운 이슈를 생성할 수 있다. 이 때, 개발자는 해당 저장소에 이슈를 생성할 수 있는 권한을 가지고 .. 2021. 8. 12.
[Git] Github 커멘트(댓글) 관련 기능 및 사용법 깃허브를 협업 도구로 사용할 때, 가장 많이 사용하는 기능은 단연 '댓글(커멘트)' 기능이다. 동료 개발자들과 커멘트를 주고 받으면서 문제도 해결하고 소스코드도 수정한다. 깃허브에서 커멘트를 달 때, 이슈 맨 아랫쪽에 커멘트를 입력할 수 있는 창을 이용하면 된다. 커멘트는 마크다운 문법을 이용해 작성할 수 있다. 자주 사용하는 마크다운 기능은 커멘트 입력창 오른쪽 상단에 다양한 아이콘으로 표시되어 있다. 마우스 오버를 해보면 각각 어떤 기능인지 힌트를 준다. (물론 자주사용다하보면 그냥 마크다운 문법을 사용하게 된다) 작성된 커멘트는 작성된 시간 순서에 따라 블로그 댓글처럼 이슈 아랫쪽으로 주렁주렁 달리게 된다. 커멘트(댓글) 인용 여러사람이 하나의 이슈에 커멘트를 남기다보면 답해야할 타이밍을 놓치는 경.. 2021. 8. 11.
[Git] 크롬 깃허브 플러그인 - Better Pull Request For GitHub 이제 많은 기업들에서 협업 도구로 깃허브를 사용한다. 특히 깃허브 엔터프라이즈를 사내 협업 도구로 도입하면서 동일한 코드에 여러 사람들이 작업을 하며 협업하는 경우가 많아졌다. 깃허브를 통해 코드 작업을 하게되면, Pull Request를 통해 공통의 코드를 관리하게 된다. 로컬 저장소에서 소스코드를 수정하고 테스트한 다음 마스터 브랜치 혹은 개발 브랜치로 커밋 내용들을 PR보내면 동료들이 PR 내용을 리뷰하고 피드백을 주거나 코드를 머지하게된다. 따라서 PR은 협업의 가장 중요한 작업 중 하나가 되었다. 깃허브의 PR 페이지를 조금 더 효과적으로 탐색할 수 있는 크롬 확장 프로그램이 있다. Better Pull Request For GitHub 이름부터가 PR 페이지를 좀 더 보기 좋게 만들어주는 확장.. 2021. 8. 9.
[Git] GitHub 저장소 페이지 단축키 깃허브를 협업툴로 사용하는 조직이 많지만 의외로 깃허브 저장소 페이지에서 단축키를 사용할 수 있다는 것을 모르는 경우가 많다. 우선 레파지토리의 탭을 이동하는 단축키는 [G] 키와 각 탭의 첫 글자를 조합하면 된다. 예를 들어 'Code' 탭은 [G] + [C]로 이동할 수 있고, 'Issues' 탭은 [G] + [I] 로 이동할 수 있다. 'Go to {XXX 탭}'에서 G와 탭 이름의 첫 글자를 따왔다고 생각하면 된다. (그 밖에 [G] + [B]를 누르면 Projects, [G] + [G]를 누르면 Discussions로 넘어간다) Code 탭에서 파일을 찾는 페이지로 넘어가려면 [T] 키를 누르면된다. 그러면 찾고자하는 파일 이름을 입력할 수 있고, 하단에는 이름에 해당하는 검색 결과가 표시된다... 2021. 8. 9.