2013-05-29 3 views
1

현재 tfs checkin id를 보는 유일한 방법은 git log 명령을 사용하는 것입니다. 다른 git 사용자와 마찬가지로, 나는 preitified git log를 가지고 있으므로, git log에 tfs checkin id 플래그를 포함하고 싶습니다.git 로그에서 TFS 체크인 ID를 얻으려면 어떻게해야합니까?

커밋이 로컬 자식 커밋 또는 tfs 체크 인 커밋인지 여부를 알기 위해 미리 정리 된 로그에 사용할 수있는 플래그가 있으면 플러스 기호가됩니다.

[alias] 
ten = log --pretty=format:\"%C(yellow)%h%Creset %ad %CONDITIONAL(IF %TFSCHECKINID NOT NULL){%C(red)[%TFSCHECKINID]} %C(green)%s %Creset[%an]\" --graph --date=short --no-merges -10 

그것은 다음과 같이 나타납니다 :

* xxxxxx yyyy-mm-dd [C9999] This is a TFS checkin [Anonymous] 
* xxxxxx yyyy-mm-dd This is a local git commit [Anonymous] 
나는 이런 식으로 뭔가를 달성하고 싶습니다

[alias] 
ten = log --pretty=format:\"%C(yellow)%h%Creset %ad %C(green)%s %Creset[%an]\" --graph --date=short --no-merges -10 

:

여기에 지난 10 커밋을 반환하는 내 자식 별명이다

답변

1

한 가지 시도는 --decorate 또는 %d 형식 자리 표시를 추가하는 것입니다. 커밋을 가리키는 참조를 포함합니다. 이것은 모든 커밋을 표시하지는 않지만 tfs/default을 TFS 헤드에 넣을 것입니다. 이렇게하면 최근 커밋 중 TFS가 아닌 커밋을 쉽게 알 수 있습니다. %gd 또는 %gD으로 시도해 볼 수도 있습니다.

프로젝트의 config에서 자동 태그 추가를 켜고 %d을 사용할 수도 있습니다.

+0

좋은 시작처럼 보입니다. 하지만 만약 내가 중앙 어딘가에서 계산을하고 지사를 만들었다면 첫 번째 커밋에서 단지'(HEAD, test_branch) '라고 말할 것입니다. 오직 master에서 rebased 한 후에'(HEAD, test_branch)'를 보여줄 것입니다. 첫번째 커밋에서는'(tfs/default, master)'가된다 .. – CincauHangus

+0

자동 태그 추가는 위의 내 질문을 해결했다. 감사! – CincauHangus