Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.
RetroTech 팟캐스트 44BITS 팟캐스트

Github의 입력 폼과 검색에 관련된 몇가지 팁

Github에서 사용할 수 있는 텍스트 에어리어에서 사용할 수 있는 여러가지 기능들이 좀 있는데 자주 사용하지 않다보니 매번 찾아봐야 해서 좀 잘 써보고자 정리를 해본다. 원래는 Github의 도움말 페이지에서 해당 내용을 찾을 수 없어서 정리하려고 한거였는데 정리할려고 뒤지다 보니 GitHub Flavored Markdown페이지에 나와있다. 보통 텍스트 에어리어우 우측에 GFM(Github Flavored Markdown)링크를 누르면 모달이 뜨는데 여기서 다시 GFM 링크를 클릭하면 도움말 페이지로 연결된다. GFM은 Github에서 Wiki를 제외한 이슈, 코드에 다는 댓글등에서 모두 사용할 수 있다. (사실 Github에는 많은 기능이 추가되고 있는데 너무 많아서 일일이 파악하기도 힘들다.)


이모지에모지
GFM은 이모지에모지를 지원한다. 텍스트 에어리어에서 콜론(:)을 클릭하면 이모지에모지를 사용할 수 있다. 사용할 이모지에모지의 단어를 이어서 입력하면 해당 이모지에모지를 찾아서 선택할 수 있다.

Github에서 이모지를 사용하는


이슈
이슈에 대한 링크는 #NUM을 사용한다. 즉 3번 이슈는 #3이라고 쓰면 자동으로 링크가 연결된다. 이 기능은 특히 커밋 메시지와 연동할 때 유용한데 이슈와 관련된 커멧에 #NUM 식으로 입력하면 Github내에서 볼때 자동으로 해당 이슈에 대한 링크가 연결되고 이슈에서도 관련된 커밋이 댓글처럼 자동으로 등록된다. Github을 쓸 때 이슈와 커밋메시지를 연동하는 습관을 들이면 추적하기가 훨씬 쉽다.

여기에 #NUM으로 이슈를 지정한 커밋 메시지에 close, closes, closed, fixes, fixed와 같은 단어가 들어가 있으면 해당 커밋을 푸시하는 순간 자동으로 관련 이슈를 닫아준다. 커밋따로 이슈따로 관리할 필요없이 자동으로 해주기 때문에 무척 편리하다.(이런 깨알같은 기능때문에 Github를 사랑할 수 밖에 없다.) 물론 이 기능은 Github 저장소의 기본 브랜치(보통은 master이지만 설정에서 지정 가능하다.)에 푸시할때만 적용되고 그 외에 브랜치에 푸시했을 때는 기본 브랜치에 머지했을때 이슈가 닫힌다는 알림만 나온다.


참조 링크
이슈 등을 적을 때 특정 커밋을 언급하거나 해야하는 경우가 있다. 이슈에 대한 참조는 앞에서 설명했지만 그외 사용자, 저장소, 커밋 등을 링크할 수 있다.

  • SHA - 예:  b3ca948
  • User@SHA - 예: outsideris@b3ca948
  • User/Project@SHA - 예: outsideris/node@b3ca948
  • User/#Num - 예: outsideris#1
  • User/Project#Num - 예: outsideris/node#1
  • @User - 예: @outsider

SHA는 전체를 다 적어줘도 되지만 유니크하기만 되므로 보통 7자 이상정도만 적어줘도 된다.(어차피 길게 적어도 링크 자동으로 걸면서 7자만 보여준다.) 위의 방식으로 링크를 걸면 자신의 프로젝트의 커밋이나 다른 사용자 혹은 다른 사용자 프로젝트의 이슈/커밋을 글에 참조해서 넣을 수 있다.


검색
Github의 상단에는 검색창이 존재한다.(정리하는 김에 검색부분을 좀 더 추가한다. ㅋ)

Github 상단의 검색창

이 검색창은 단순 검색이상의 많은 기능을 제공하는데 이 검색창에다가 ?를 입력하면 다음과 같은 커맨드를 볼 수 있다.

  • 검색어 - Github에서 검색한다.
  • @user - 사용자 프로필 페이지로 이동
  • @user follow - 사용자를 팔로우한다.
  • @user unfollow - 사용자를 언팔로우한다.
  • my dashboard - 자신의 대시보드로 이동
  • my issues - 자신의 이슈로 이동
  • my notifications - 자신의 알림화면으로 이동
  • my profile - 자신의 프로필페이지로 이동
  • my pulls - 자신의 풀 리퀘스트 화면으로 이동
  • my settings - 자신의 계정의 설정화면으로 이동
  • my stars - 별표를 한 저장소 보기
  • user/repo - 저장소 보기
  • user/repo #123 - 특정 저장소의 특정 이슈 보기
  • user/repo #검색어 - 저장소의 이슈중 검색어로 검색
  • user/repo admin - 저장소의 관리 페이지로 이동( 권한없는 저장소는 404로 간다)
  • user/repo graphs - 그래프 보기
  • user/repo issues - 저장소의 이슈 목록 보기
  • user/repo issues #123 - 특정 저장소의 특정 이슈 보기
  • user/repo issues new - 저장소에 이슈 생성
  • user/repo network - 저장소의 네트워크 보기
  • user/repo pulls - 저장소의 풀 리퀘스트 보기
  • user/repo watch - 저장소 워치 킴
  • user/repo unwatch - 저장소 워치 끔
  • user/repo wiki - 저장소의 위키 페이지 보기
익혀두면 빠르게 원하는 곳으로 이동할 수 있다. 여기에 Github는 추가적으로 검색페이지를 따로 제공하고 있는데 구글처럼 깔끔한 검색페이지가 존재한다.

Github의 search 페이지

이 화면에서 검색바밑에 prefixes를 클릭하면 검색을 좀더 상세히 할 수 있는 옵션을 볼 수 있다. 물론 이 검색은 각 페이지의 상단에 있는 검색바에서도 사용할 수 있다.

  • 검색어 stars:>100
  • 검색어 stars:100..*
  • 검색어 stars:<100
  • 검색어 stars:*..100
이런 식으로 사용하면 검색어로 검색하면서 별표가 100개 초과 혹은 100개 미만인 것만 검색해 준다.

  • 검색어 pushed:>2013-01
  • 검색어 pushed:>2013-01-31
  • 검색어 pushed:<2013-01-31
  • 검색어 pushed:2013-01-01..2013-02-20
pushed 사용하면 저장소에 pushed한 기간을 필터링해서 검색할 수 있다. 저장소를 찾을 때 최근에도 갱신된 저장소를 찾을 때 유용할 것 같다.

  • 검색어 fork:>100
  • 검색어 fork:100..*
  • 검색어 fork:<100
  • 검색어 fork:*..100
이렇게 포크한 수를 가지고 검색할 수도 있고 "검색어 fork:true"를 하면  검색어의 저장소를 검색하면서 검색어의 저장소를 포크한 저장소도 포함해서 검색결과를 보여준다.


그밖에도 도움말을 보면 많은 검색조건을 제공하고 있다.(역시 Github이라는 말 밖에는...) 이 검색은 좀 느리긴 하지만 원하는 저장소를 찾을 때 유용하다.
2013/03/19 00:01 2013/03/19 00:01