패션처럼 트리에서 자식 분기의 출력
지금 "git branch"를 입력하면
내 분기를 임의의 순서로 나열합니다.
내가 선호하는 것은 "git branch"가 fasion과 같은 트리에 내 출력을 나열하면 다음과 같습니다.
master
|-- foo
|-- foo1
|-- foo2
|-- bar
|-- bar4
여기서 foo & bar는 master에서 분기되었습니다. foo1 & foo2는 foo에서 분기되었습니다. bar4는 bar에서 분기되었습니다.
이것이 달성하기 쉬운가?
[명령 줄 유틸리티 만 해당. 이것은 내 zsh / vim 워크 플로우에 맞아야합니다.]
2009 년에 " 터미널에 Git 트리를 표시 할 수 없습니다 "와 유사한 접근 방식을 언급했습니다 .
git log --graph --pretty=oneline --abbrev-commit
그러나 내가 사용한 전체 내용은 " git log --graph를 사용하여 태그 이름 및 분기 이름을 표시하는 방법 "(2011)에 있습니다.
git config --global alias.lgb "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset%n' --abbrev-commit --date=relative --branches"
git lgb
원문 답변 (2010)
git show-branch --list
당신이 찾고있는 것 (topo order)과 가깝습니다.
--topo-order
기본적으로 브랜치와 커밋은 역순으로 표시됩니다.
이 옵션을 사용하면 토폴로지 순서대로 표시됩니다 (즉, 하위 커밋은 부모에게 표시됩니다).
그러나 도구 git wtf 도 도움이 될 수 있습니다 . 예:
$ git wtf
Local branch: master
[ ] NOT in sync with remote (needs push)
- Add before-search hook, for shortcuts for custom search queries. [4430d1b] (edwardzyang@...; 7 days ago)
Remote branch: origin/master (git@gitorious.org:sup/mainline.git)
[x] in sync with local
Feature branches:
{ } origin/release-0.8.1 is NOT merged in (1 commit ahead)
- bump to 0.8.1 [dab43fb] (wmorgan-sup@...; 2 days ago)
[ ] labels-before-subj is NOT merged in (1 commit ahead)
- put labels before subject in thread index view [790b64d] (marka@...; 4 weeks ago)
{x} origin/enclosed-message-display-tweaks merged in
(x) experiment merged in (only locally)
NOTE: working directory contains modified files
git-wtf
보여줍니다 :
- 지점이 원격 지점 인 경우 추적 지점 인 경우
- 기능 분기 인 경우 분기가 비 기능 ( "버전") 분기와 관련되는 방식입니다.
- 지점이 기능 분기와 관련되는 방식 (버전 분기 인 경우)
그것은 당신이 요구 한 것이 아니지만
git log --graph --simplify-by-decoration --pretty=format:'%d' --all
꽤 잘해. 태그와 원격 브랜치도 보여줍니다. 이것은 모든 사람에게 바람직하지는 않지만 유용하다고 생각합니다. --simplifiy-by-decoration
여기에 표시된 심판을 제한하는 큰 요령이 있습니다.
비슷한 명령을 사용하여 로그를 봅니다. 내 gitk
사용법 을 완전히 바꿀 수있었습니다 .
git log --graph --oneline --decorate --all
~ / .gitconfig 파일에 다음 별칭을 포함 시켜서 사용합니다.
[alias]
l = log --graph --oneline --decorate
ll = log --graph --oneline --decorate --branches --tags
lll = log --graph --oneline --decorate --all
편집 : 더 간단한 옵션 플래그를 사용하도록 제안 된 로그 명령 / 별칭을 업데이트했습니다.
다음 예제는 커밋 부모도 보여줍니다.
git log --graph --all \
--format='%C(cyan dim) %p %Cred %h %C(white dim) %s %Cgreen(%cr)%C(cyan dim) <%an>%C(bold yellow)%d%Creset'
라는 도구를 사용할 수 있습니다 gitk
.
우분투에서 테스트 :
sudo apt install git-extras
git-show-tree
이것은 여기서 가장 많이 찬성 된 2 가지 답변과 유사한 효과를냅니다.
출처 : http://manpages.ubuntu.com/manpages/bionic/man1/git-show-tree.1.html
Also, if you have arcanist installed, arc flow
shows a beautiful dependency tree of upstream dependencies (ie: which were set previously via arc flow new_branch
or manually via git branch --set-upstream-to=upstream_branch
).
For those who use Github, they have a branch network viewer that seems easier to read
참고URL : https://stackoverflow.com/questions/2421011/output-of-git-branch-in-tree-like-fashion
'development' 카테고리의 다른 글
JavaScript에서 2D 배열 전치 (0) | 2020.07.01 |
---|---|
NHibernate.MappingException : XYZ에 대한 지속 자 없음 (0) | 2020.07.01 |
Android의 기본 텍스트 크기는 얼마입니까? (0) | 2020.07.01 |
기능 매개 변수의 유형을 설정 하시겠습니까? (0) | 2020.07.01 |
DataTable을 반복하는 방법 (0) | 2020.07.01 |