본문 바로가기

git20

[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.
[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] git-flow 소개, 설치 및 사용법 하나의 소스코드로 여러명의 개발자들이 협업을 하게 되면서 소스코드의 버전 관리 시스템의 중요성이 매우 높아졌다. 과거에는 SVN, CVS 같은 소프트웨어들도 많이 사용되었지만 최근에는 거의 git으로 통일되어 가는 듯 하다. (그럼에도 아직까지 파일 서버에서 소스코드를 업로드하는 원시적인 방법을 사용하는 프로젝트도 많다.) SVN과 CVS에 비해 git이 갖는 큰 장점은 효율적인 브랜치(Branch) 관리가 가능하다는 점이다. 소스코드의 일부분을 수정하기 위해 브랜치를 생성하고 작업한 다음 원래 소스코드에 손쉽게 수정사항을 병합(Merge)할 수 있다. Vincent Driessen의 브랜칭 모델 소스코드를 관리하는데 브랜치 기능을 적극적으로 사용할 수 있는게 git의 장점이라고 언급했다. 브랜치 기능도.. 2021. 2. 15.
[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] git의 어원, 의미 소스코드의 형상관리 도구로 git을 사용하는 조직이 정말 많다. 비슷한 역할을 하는 SVN과 CVS는 각각 SubVersioN과 Concurrent Versions System의 약자인데 대문자로 표기하지 않는 'git'이라는 단어는 어디에서 유래되었는지 궁금해졌다. git이라는 단어의 의미, 어원에 대해 git wiki 페이지에서 힌트를 얻을 수 있었다. (링크 : git.wiki.kernel.org/index.php/GitFaq#General_Questions) git 프로젝트는 리눅스를 만든 리누스 토발즈에 의해 진행되었다. 리누스 토발즈는 진행하는 프로젝트의 이름을 붙일 때 자신과 관련된 것으로 짓는다고 한다. 리눅스(Linux)라는 운영체제의 이름도 리누스와 유닉스를 적절히 섞은 것이다. git.. 2021. 2. 11.
[Git] 커밋 로그 메시지 수정하기 git을 이용해 코드관리를 하다보면 커밋 메시지에 오타가 생기거나 설명을 잘 못 추가하는 경우가 간혹있다. 커밋 로그를 잘 적어놔야 코드의 유지보수가 편한데, 커밋 로그를 잘못 작성했다면 수정을 해야한다. commit --amend 마지막 커밋을 수정하려면 git commit --amend를 이용하면 된다. $ git commit --amend -m "New Commit message" $ git push -f 커밋 메시지가 변경되어 Commit Hash 값이 바뀌었으므로 원격 저장소에 -f 옵션을 이용해서 강제로 푸쉬를 해줘야 수정이 된다. rebase -i 개발 브랜치를 따서 작업을 한 다음 머지(Merge)를 했는데 잘못된 커밋 로그를 발견한 경우도 있다. 마지막 커밋에 대한 수정이 아닌 커밋로그 .. 2020. 11. 27.
[Git] 커밋 작성자(author) 정보 수정하기 git commit을 이용해 코드에 대한 수정을 깃허브에 반영할 때 잘 못된 작성자 정보가 반영되는 경우가 있다. 깃허브 계정 여러개를 같이 사용하는 경우나 개발 서버 하나를 여러명이 사용할 때 원하지 않는 계정 정보로 커밋이 남는 경우가 있다. 원하는 계정이 아닌 잘못된 계정으로 커밋 로그가 남게되어 컨트리뷰션에 남지 않거나 잘 못된 사람에게 문의가 갈 경우가 생긴다. 이 경우 git의 rebase 명령을 이용해서 커밋 작성자 정보를 수정할 수 있다. 우선 커밋 계정을 수정할 커밋의 바로 직전 커밋의 해시값을 확인하자. 해시 값을 보자. 이 케이스에서는 bec8b77다. rebase 명령을 실행하자. git rebase -i -p bec8b77 bec8b77 커밋 이후 작성된 모든 커밋들에 대해서 re.. 2020. 11. 16.