순전히 투기적인 커밋이 있다고 가정 해 봅시다. 나는 그것을 지키고 싶다. 그러나 나는 심판을 만들고 싶지 않다. (나는 지목이나 '단일 한 투기 적 커밋'이라는 태그를 원하지 않는다.) 분기 이름을 '투기 적'으로 만들고 모든 커밋을 그 안에 포함시킬 수는 있지만 커밋은 완전히 서로 관련이 없으므로 커밋과 그 부모 간의 연결이 터무니 없다. 본질적으로, 나는 gc에 의해 삭제되지 않을 커밋에 대해 sha1 ids를 나열 할 수 있기를 원하지만 각각에 대한 참조는 필요 없다. 그렇게하는 좋은 방법은 무엇입니까? (나는 gc.pruneExpire를 높은 값으로 설정하고 싶지 않다. 왜냐하면 나는 여전히 물건을 가지 치기를 원하기 때문에, 참조되지 않은 커밋의 특정 세트를 유지하기 만하면된다.) 다른 말로하면 :어떻게 커밋을 삭제하지 않았는지 확인 하시겠습니까?
무엇인가 전혀 관련이없는 커밋들에 대한 참조를 만드는 좋은 방법?
'git fsck'에'HEAD'를 건네주지 마십시오 - HEAD 외부에 커밋이 있으면 댕글 링 커밋이 발생합니다. 대신에'git fsck --unreachable'을 수행해야합니다. – bdonlan
+1 : 저는이 것을 mipadi의 대답에 대한 대안으로 제안하려했습니다. 몇 가지주의 사항 : 나중에 SHA1만이 아니라 실제 명칭을 주어야한다. 그것들은 네임 스페이스 밖에있는 가지 나 태그와 같습니다. 다른 ref와 마찬가지로 설명을 붙이십시오. 'git for-each-ref refs/speculative/*'를 사용하여 이들을 나열 할 수 있는데,이 옵션은 좋은 서식 지정 옵션을 제공합니다. – Cascabel
고유성을 보장하고 이름을 지정하는 데 필요한 노력을 최소화하기 위해 이름으로 sha1을 사용하기로 결정했습니다. 각 커밋 메시지의 첫 번째 줄을 나열하면 쉽게 구분할 수 있습니다. –