2012-08-06 6 views
8

git-notes은 객체 메모를 추가하거나 검사하는 데 사용됩니다. 어떻게 git-notes 커밋을 삭제할 수 있습니까, 그래서 git-notes 커밋은 git 히스토리에 존재하지 않을 것입니다. 나는 git-notes 커밋을 지우고 싶다. 나는 "git-notes 제거"를 의미하지는 않는다. 단지 노트를 제거하고 또 다른 커밋을하는 것이다.git-notes commit을 삭제하는 방법은 무엇입니까?

+0

이 답변을 참조하십시오 - http://stackoverflow.com/a/18507031 – Igor

답변

-2

git notes은 자체 커밋을 생성하지 않습니다.

실제로 기존 커밋에 몇 가지 메모를 추가하는 데 사용할 수 있습니다 (git notes add).

git notes remove으로 전화하면 메모가 제거되고 다시 커밋되지 않습니다.

+0

'git notes'는 자신의 커밋을 생성하지 않지만 히스토리 ('git log --all')에 표시됩니다. git notes를 삭제할 수있는 방법이 없으므로 역사에 표시되지 않습니다. 고맙습니다! – Fei

5

git은 (기본값으로 refs/notes/commits이 가리키는) 별도의 (고아가 된) 지점에 메모를 저장하기 때문에 메모 머리를 가리키고 평소대로 편집하고 (예 : rebase 사용) 메모를 참조하도록 업데이트 할 수 있습니다. 해당 지점의 끝 :

// create branch pointing to the tip of notes branch 
git checkout -B notes-editing refs/notes/commits 

// do whatever you want with notes-editing branch 
// for example, git reset --hard HEAD^ to remove last commit 

// reset notes reference to the tip of temporary branch 
git update-ref refs/notes/commits notes-editing 
// remove temporary branch 
git checkout master 
git branch -D notes-editing 
+0

마지막 단계 :'git branch -D'는'git notes'를 지우지 않습니다. 일반적인 분기로 커밋합니다. – Fei

+3

모든 메모를 완전히 삭제 하시겠습니까? 그럼'.git/refs/notes/commit' 파일 만 제거해야합니다. – max

+0

@max 나는'.git/refs/notes/commits'를 제거하면 노트에 대한 (로컬) 레퍼런스 만 지워지지만 실제 메모 오브젝트는 삭제되지 않는다고 생각한다. –

1

git notes prune 존재하지 않거나 도달 할 수없는 개체에 대한 모든 메모를 제거합니다.

관련 문제