본문 바로가기

Tools/Git36

[git] 깃허브 마크다운에서 접기/펼치기 (더보기) 사용법 깃허브에 이슈를 작성하다보면 '접기/펼치기' 기능을 사용해야할 경우가 있다. 이슈에 대한 설명을 위해 로그 정보들을 긁어오는데, 로그가 너무 많으면 이슈 자체에 집중을 할 수가 없다. 이런 정보들은 '접기/펼치기' 기능 혹은 더보기 버튼으로 가려놓으면 필요할 때만 펼쳐볼 수 있다. 깃허브 이슈를 작성할 때 더보기 자세한 내용은 더보기 버튼으로 가려둘 수 있음 더보기 자세한 내용은 더보기 버튼으로 가려둘 수 있음 '' 태그와 태그를 이용하면 된다. 2021. 7. 6.
[Git] git cherry-pick - 다른 브랜치의 커밋을 적용 git을 이용해서 코드를 관리하다보면 다른 브랜치에 적용된 커밋을 가져와서 내 브랜치에 적용하고 싶은 경우가 있다. develop 브랜치에서 기능 개발 브랜치를 따고 작업하다가 develop 브랜치에 새로운 커밋이 추가된 경우라면 rebase 를 사용한다. 그게 아니라면 cherry-pick 명령을 사용해서 다른 브랜치의 커밋을 가져올 수도 있다. git cherry-pick git cherry-pick 명령이 어떤 것인지 알기 위해서는 git으로 관리되는 커밋들을 그림으로 그려볼 필요가 있다. 두 개의 브랜치 'branch X'와 'branch y'가 있다고 하자. 현재 'branch y'를 개발하고 있는 상황에서 'branch X'에 적용되어 있는 3개의 커밋을 가져와서 반영하고 싶은 상황이다. 이럴.. 2021. 6. 20.
[Git] 과거 특정 커밋 내용 수정하기 git을 이용해서 소스코드 관리를 하다보면 과거에 수정한 커밋을 나중에 다시 고치고 싶을 때가 있다. 자잘한 오타 정도를 수정할 경우 새로운 커밋을 추가하면서 커밋 로그를 더럽히고 싶지 않은 경우가 있다. 이럴 경우 git rebase 명령을 이용해서 수정하면 된다. 커밋해시 확인 우선 수정하려는 커밋 정보를 git log 명령을 이용해서 확인하자. $ git log 로그를 보고 변경하려는 이전 커밋을 확인하자. 그리고 그 커밋의 직전 커밋의 해시값을 복사한다. git rebase -i 위에서 확인한 해시 값을 git rebase -i 명령의 인자로 입력해준다. $ git rebase -i 80f060768c4354d8a0c4ed704c8e9b80a4a834f9 그러면 입력한 커밋부터의 로그들이 쭉 출력.. 2021. 6. 17.
[Git] GitHub 릴리즈 기능 간편하게 사용하기 - 'github-release/github-release' 사용법 깃허브에서는 소프트웨어의 소스코드 뿐만 아니라 소프트웨어를 빌드한 결과물을 배포할 수 있는 기능까지 제공하고 있다. '릴리즈(Release)'라는 기능이다. 깃허브 페이지의 오른쪽 탭에 보면 'Release' 항목을 찾아 볼 수 있다. 'Create a new release' 버튼을 눌러서 새로운 릴리즈를 작성할 수 있다. master 브랜치에 달려있는 태그와 함께 릴리즈 제목, 릴리즈 노트 그리고 소스코드를 빌드한 바이너리를 첨부할 수 있다. 별도의 배포 웹 서버나 웹 페이지, FTP 서버를 운영하지 않아도 간단하게 바이너리를 배포할 수 있다. 하지만 웹 페이지를 통해 매번 릴리즈 생성 버튼을 누르고, 파일을 업로드 하는 행위는 매우 귀찮다. 우리는 게으르기 위해서 부지런해지는 개발자이므로 releas.. 2021. 2. 16.
[Git] GitHub 저장소 생성 및 소스코드 올리기 로컬에서 작업중인 git 저장소를 GitHub에 올려 다른 개발자들과 공유할 필요가 있을 수 있다. 우선 코드를 업로드할 깃허브 저장소부터 생성해보자. 1. 깃허브 저장소 생성 깃허브에 접속한다. 깃허브에 로그인을 하면 우측 상단에 + 모양의 버튼이 있다. 이 버튼을 클릭하면 'New repository' 항목을 볼 수 있다. 클릭해서 새 저장소를 만드는 페이지로 간다. 새로만들 저장소의 정보를 입력한다. Repository name에 입력한 정보는 저장소의 주소로 사용된다. Description 항목은 저장소에 대한 간단한 설명을 입력하는 곳이다. Public과 Private은 저장소의 공개 여부를 설정하는 곳으로 Public 저장소는 모두에게 공개된다. (오픈소스) Private 저장소는 저장소 소유.. 2021. 2. 15.
[Git] git-flow 소개, 설치 및 사용법 하나의 소스코드로 여러명의 개발자들이 협업을 하게 되면서 소스코드의 버전 관리 시스템의 중요성이 매우 높아졌다. 과거에는 SVN, CVS 같은 소프트웨어들도 많이 사용되었지만 최근에는 거의 git으로 통일되어 가는 듯 하다. (그럼에도 아직까지 파일 서버에서 소스코드를 업로드하는 원시적인 방법을 사용하는 프로젝트도 많다.) SVN과 CVS에 비해 git이 갖는 큰 장점은 효율적인 브랜치(Branch) 관리가 가능하다는 점이다. 소스코드의 일부분을 수정하기 위해 브랜치를 생성하고 작업한 다음 원래 소스코드에 손쉽게 수정사항을 병합(Merge)할 수 있다. Vincent Driessen의 브랜칭 모델 소스코드를 관리하는데 브랜치 기능을 적극적으로 사용할 수 있는게 git의 장점이라고 언급했다. 브랜치 기능도.. 2021. 2. 15.
[Git] GitHub PR 템플릿, 이슈 템플릿 사용하기 깃헙을 커뮤니케이션 도구로 사용할 경우 이슈(Issue)와 PR(Pull Request)라는 행위를 통해 공통의 코드를 유지보수하게 된다. 이슈를 열고 PR을 등록할 때 템플릿(Template)을 등록해 놓으면 커뮤니케이션이 한결 수월해진다. PR을 등록할 때, 어떤 이슈를 해결하기 위한 코드수정이었는지, 문제가 있는 동작을 재현하려면 어떻게 해야하는지, 추가적으로 생각해봐야 할 점이 있다면 무엇인지를 적어주면 좋다. 하지만 팀을 구성하는 개발자들의 스타일이 다 다르기 때문에 어떤 팀원은 이슈를 대충적기도하고, 어떤 팀원은 너무 자세하게 불필요한 내용까지 적기도한다. 이 경우 팀에서 사용하는 공통의 양식이 있으면 그 양식에 맞게 정보를 적어주면 된다. 깃헙은 이슈와 PR에 템플릿을 도입할 수 있도록 했다.. 2021. 2. 14.
[Git] push 수행시 'push.default is unset' 에러 git을 이용해 로컬에 반영된 커밋을 리모트 저장소로 push 할 때, "warning: push.default is unset;"이라는 에러 메시지가 출력되는 것을 볼 경우가 있다. 예를 들어 다음 에러 메시지가 보이는 경우다. $ git push warning: push.default is unset; its implicit value has changed in Git 2.0 from 'matching' to 'simple'. To squelch this message and maintain the traditional behavior, use: git config --global push.default matching To squelch this message and adopt the new beh.. 2021. 2. 13.
[Git] GitHub 저장소(Repository) 삭제 잘 못 만들었거나 더 이상 사용하지 않는 깃허브 저장소를 삭제하는 방법에 대해서 알아보자. 우선 삭제하고 싶은 깃허브 저장소로 접속한다. 삭제하고 싶은 저장소(Repository)의 메뉴 탭 중 'Settings'로 들어간다. 깃허브 저장소 관리를 위한 다양한 메뉴가 나와있다. 첫 번째 페이지인 'Options' 페이지의 맨 마지막 부분으로 내려간다. 'Danger Zone'이라는 부분에 저장소에 대한 조금 위험할 수 있는 작업들이 나와있다. 'Delete this repository'라는 항목이 있다. 빨간색 버튼을 클릭하면 삭제를 위한 작업을 시작할 수 있다. 저장소를 완전히 삭제하는 작업이니만큼 한 번 더 확인을 거쳐야한다. 잘못된 저장소를 삭제할 수도 있으니 삭제하려는 저장소의 이름을 확실하게 한.. 2021. 2. 12.