git recent-branch와 peco로 브랜치를 빠르게 전환
소개
git에서 여러 기능을 병렬로 개발할 때 등 브랜치를 자주 전환하는 것은 있을까 생각합니다.
git에서는 git checkout -
, git rebase -
와 같이 -
3개 이상의 브런치를 오가거나 할 때에는 사용할 수 없습니다.
그래서 git에서 최근 checkout 한 branch를 표시하는 git recent-branch
라는 git 부속 명령을 만들었습니다.
sachaos/git-recent-branch
$ git recent-branch
develop (16 seconds ago) Fri May 12 00:06:52 JST 2017
feature/hogehoge (28 seconds ago) Fri May 12 00:06:40 JST 2017
feature/test2 (41 seconds ago) Fri May 12 00:06:27 JST 2017
master (57 seconds ago) Fri May 12 00:06:11 JST 2017
feature/test (2 minutes ago) Fri May 12 00:05:02 JST 2017
ae8bcd440123ee5db3fa994eb618f918a857ed5b (1 week ago) Tue May 2 21:54:36 JST 2017
이것과 peco 를 조합하는 것으로, 최근 checkout 한 브랜치를 편하게 왕래할 수 있습니다.
데모
Tips 때리기
내부 거동
git 의 조작 로그는 git 관리하의 디렉토리에 있는 .git/logs/HEAD
에 보관 유지되고 있습니다.
이것을 파스하고 checkout의 로그를 주워 와서 성형해 표시하는 것만으로 매우 심플한 만들기가 되어 있습니다.git reflog
명령도 이 녀석을 이용하고 있는 것 같습니다.
git 부속 명령을 만드는 방법
몰랐습니다만, git는 git-recent-branch
와 같은 커멘드를 준비해 주면,git recent-branch
와 실행했을 때에 하이픈으로 단락지어지고 있는 커멘드를 실행해 주는 것 같습니다.
이제 부속 명령과 같은 동작을 수행할 수 있습니다.
Golang에서 Twitter와 같은 시간보기
Golang에서 Twitter와 같은 표시 (7 hours ago와 같은)를 만들 때 다음 패키지가 편리했습니다.
상대적인 시간표시 이외에도 파일 사이즈 등, 스스로 구현하는 것도 귀찮게 편리한 변환을 해 줍니다.
fmt.Printf("This was touched %s.", humanize.Time(someTimeInstance)) // This was touched 7 hours ago.
dustin/go-humanize: Go Humans! (formatters for units to human friendly sizes)
요약
$ git recent-branch
develop (16 seconds ago) Fri May 12 00:06:52 JST 2017
feature/hogehoge (28 seconds ago) Fri May 12 00:06:40 JST 2017
feature/test2 (41 seconds ago) Fri May 12 00:06:27 JST 2017
master (57 seconds ago) Fri May 12 00:06:11 JST 2017
feature/test (2 minutes ago) Fri May 12 00:05:02 JST 2017
ae8bcd440123ee5db3fa994eb618f918a857ed5b (1 week ago) Tue May 2 21:54:36 JST 2017
Tips 때리기
내부 거동
git 의 조작 로그는 git 관리하의 디렉토리에 있는 .git/logs/HEAD
에 보관 유지되고 있습니다.
이것을 파스하고 checkout의 로그를 주워 와서 성형해 표시하는 것만으로 매우 심플한 만들기가 되어 있습니다.git reflog
명령도 이 녀석을 이용하고 있는 것 같습니다.
git 부속 명령을 만드는 방법
몰랐습니다만, git는 git-recent-branch
와 같은 커멘드를 준비해 주면,git recent-branch
와 실행했을 때에 하이픈으로 단락지어지고 있는 커멘드를 실행해 주는 것 같습니다.
이제 부속 명령과 같은 동작을 수행할 수 있습니다.
Golang에서 Twitter와 같은 시간보기
Golang에서 Twitter와 같은 표시 (7 hours ago와 같은)를 만들 때 다음 패키지가 편리했습니다.
상대적인 시간표시 이외에도 파일 사이즈 등, 스스로 구현하는 것도 귀찮게 편리한 변환을 해 줍니다.
fmt.Printf("This was touched %s.", humanize.Time(someTimeInstance)) // This was touched 7 hours ago.
dustin/go-humanize: Go Humans! (formatters for units to human friendly sizes)
요약
fmt.Printf("This was touched %s.", humanize.Time(someTimeInstance)) // This was touched 7 hours ago.
git recent-branch
라는 명령을 작성했습니다. 만든 후 몇 주가 지났지만, 이것으로 브랜치 전환의 스트레스가 해소되었습니다.
지금은 이것이 없는 생활은 생각할 수 없습니다.
꼭 사용해보십시오.
Reference
이 문제에 관하여(git recent-branch와 peco로 브랜치를 빠르게 전환), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sachaos/items/fc2f12b665e362fc7925텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)