2013-06-06 1 views
10

나는 행복하게 Git을 사용했다. 몇 일 전 밤에 커밋을했는데, 이것은 원격 repo에 반영되어있다. 지난 밤에 나는 Smartgit Hg를 열었고 그것은 나무가없는 것을 알려줍니다. 나는 git fsck --full을 돌렸고 아래에 상당히 큰 결과물을 얻었다.Git - 깨진 링크, 나무가 빠지거나 빠진 것

나는 아마추어입니다. 나는 내가해야 할 일을하기 위해 GUI를 사용한다. 나는 이것 (https://git.wiki.kernel.org/index.php/GitFaq#How_to_fix_a_broken_repository.3F)을 통해 독서를 시도했으나 그것은 엄청나게 많은 감각을 만들어 내지 못했으며 맹목적으로 따라 다니는 것이 효과가없는 것처럼 보인다.

내가 수행 한 파일은 git ls-tree c957fc03bb53181547142045917211fbc380a8df이고 파일 목록이 나와 있습니다. 처음에는 100644으로 3을 가졌으므로 그 디렉토리로 이동하여 git hash-object -w filename을 실행하고 ls-tree과 동일한 해시를 출력했습니다.

위키 페이지에 지금은 모두 끝났습니다. git fsck --full은 해당 트리에 대해 동일한 메시지를 계속 표시합니다. 나는 아마도 내가 잘못된 명령으로이 명령어를 사용하고 있다고 생각한다.

여기에 다른 git 소식을 읽으려고했지만 저에게 의미가 없습니다. 나는 거짓말하지 않을 것이다.

 
git fsck --full 
Checking object directories: 100% (256/256), done. 
Checking objects: 100% (1149/1149), done. 
broken link from tree c957fc03bb53181547142045917211fbc380a8df 
       to tree e7822f570245310f4b475e043f5fb02fa45c0d9e 
broken link from tree 8005ba4728321473684e670feb9c1ada8783c007 
       to tree 4df5de19988a1fd7088da6e8214404cda2069852 
broken link from tree 3b1b915c6f306ae4f80a2b61767c4267d48df53d 
       to tree 4dc2258f8d36dbeea64b859ab5dff0fadc5bd591 
broken link from tree c850459b3bd5899bd0a9eca40d69e49582f44a19 
       to tree 912613a23bcb22f211ce0d8ab4fe2a8fddde78b6 
broken link from commit 8775851e59bd5072ab98a739cfc00b231be54eab 
       to tree 90e5f62642dde43c110b9882c564349074097955 
broken link from tree 331b16c460e6f9dd3bae9b0206857fc2c57bacb8 
       to tree fdead5b5ff4ae53b54104ab5b7fa2369f0adb4f7 
broken link from tree 3ca3d56fd7eabe9efb0d4212615cf85ced8f663f 
       to tree 099070c9c54a16ca6b78c384a43c2e45d56eed71 
broken link from tree ffe425a5a568e5e515fa5745e8dd0a3f9148ac6a 
       to tree 91ec315f9730d3541bba2603f09d69b2b6d5ead0 
broken link from tree e38aa29f31a314bf71c40d800ea9d4b9422a09c3 
       to tree b9760875bb7b8be0799435625fd686c985860de2 
broken link from tree 920755bbb97bcf526bfbd492451182bec66e6d39 
       to tree d4dcb141f4ea62228e85f6b35c5b4d2f22a8720e 
broken link from tree 298bbba4562267349db2539e43cd2f12cd4317dd 
       to tree b8234d1f9efcc9691f2b35b8e4237dfa08bc140a 
broken link from commit f106420cddf314c6efa2e015e348006b82cd6348 
       to tree a5b976cb4f82b339f22c74811f47ad31d353764b 
broken link from commit 5968e9e1479fdbba079ab64a6171f98b0f869b41 
       to tree 64171c569ea7f74f59dc8f3dcc957220aa09f343 
broken link from commit c54b5f446988645caf935382ea7bbc7ec57092f2 
       to tree fda728fd6e61790133f15e073335e2e6c43dc31b 
broken link from commit 37a6d43e9645873ab2315e641ef8bf55afc08012 
       to tree 90c19ab5f9cb64e40cfcad2e30e1cf98ad586502 
broken link from tree 32009a6e84fd8639b411433d13bb707ed25a8992 
       to tree 691f8fac71c39b2182acf51f56ac39c4bc4759d5 
broken link from tree 41db7d6238919ea58c2c64d9f333c63650e0e95a 
       to tree 649a4fc0f5a9d06c67223a36116c7c8aeaa2c6b9 
broken link from tree 84f823c8d4032a3fe09ba4d962603fcb975dbf98 
       to tree 7bb4a11dd10def2f1f4f9bae4eea02848fb833cb 
broken link from commit 1b85354dd48be428b4d3937da24a9951efa9f451 
       to tree 3d437dcff812a0e123d2e4b741dba47ad08a6b9e 
broken link from commit 2cbfbe123e1a61584c519f190015622ae5b5c8c0 
       to tree 0013af31f091e2d22b7ff7e63badf305597e63b4 
broken link from tree fef036d59eb8944bb494a0eff85325c108fccf34 
       to tree 896deb89905c80893512a61d9f8e9fc3760f3a53 
broken link from tree f26d568cf61282aa1f04e7828bddf8f9d7cf8ecb 
       to tree 3d7994b9dad00c47c64b99e30693c0215b0aa5eb 
broken link from tree bc7d7d62d92c8989d9e398c8cbf036f1e205f855 
       to tree ea29c58710d7d3aa7cce589de9b46503d0e9565e 
broken link from tree 447585f3684b9915ba0ce99f41359da197ee8f54 
       to tree 0992afc3aa3aa332fe3dc927a5e334f69638a898 
broken link from commit 5e622e95cb5336521cbbdb7c03b860bb74eb9f8c 
       to tree 7f91438587057ac610e44a5cf3318440e004a9bc 
broken link from tree 32f13f592d0a56d467234b838930039c0438e019 
       to tree 9d3328f820a9308bab950ee9e513a200acd6d3f4 
missing tree 099070c9c54a16ca6b78c384a43c2e45d56eed71 
dangling tree 5a0069463363b395881958eb8d9aac7ba1b9ddd8 
dangling tree 932053ef04d4f540d250d5e74332d141b4037009 
dangling tree c7a04a22febdeb307f38019aff2e4f7645a7ea9f 
dangling tree cf10f1a8c2bb57520c6e0ad256e9fb344961c13a 
dangling tree 2c51ad373aef4844fc9e6babd878dfae5f5592b3 
missing tree 7f91438587057ac610e44a5cf3318440e004a9bc 
missing tree 90c19ab5f9cb64e40cfcad2e30e1cf98ad586502 
missing tree 0992afc3aa3aa332fe3dc927a5e334f69638a898 
dangling blob 24226e3db997d21dc10aa70a9a8aa279aa55fb8a 
missing tree 4dc2258f8d36dbeea64b859ab5dff0fadc5bd591 
dangling tree 9c322d15436be34a99fcea442ad97ae40715ac61 
dangling tree b4d2505972386aba42282232843d4e1b73148be4 
missing tree e7822f570245310f4b475e043f5fb02fa45c0d9e 
missing tree 0013af31f091e2d22b7ff7e63badf305597e63b4 
missing blob 35e3ddbc07214e74d8ad516736ee0e90b0a285c8 
missing tree 3d437dcff812a0e123d2e4b741dba47ad08a6b9e 
dangling tree 6d637bdae8eff5490df307fce3fd8a1bb2e5ce14 
dangling tree 79934929fc8423ec1c277ab21d14b7434cde7544 
missing tree 9d3328f820a9308bab950ee9e513a200acd6d3f4 
missing tree b8234d1f9efcc9691f2b35b8e4237dfa08bc140a 
dangling tree d1333fd1a2c9fed8bc3cc6f58ae00bf7fbe7c482 
missing blob 20149c8fb22e309a26f477f0e500e122f6e99e66 
dangling tree 4054641b41208cc98387806a877855db15a109f9 
missing tree 7bb4a11dd10def2f1f4f9bae4eea02848fb833cb 
dangling tree f4948b5302a1fe79ea09c5959e0f3902d022a2b3 
missing tree 4df5de19988a1fd7088da6e8214404cda2069852 
missing tree 90e5f62642dde43c110b9882c564349074097955 
dangling tree 7966c4a2fc16a5559b569f5e200c0f01f0b186db 
missing tree 912613a23bcb22f211ce0d8ab4fe2a8fddde78b6 
missing commit b976d2df1880cb6c90db5bdf856440904cd22574 
missing tree b9760875bb7b8be0799435625fd686c985860de2 
missing commit 35e7e9f65cf5950ae2855afaf764672dd48a8b9b 
missing tree 64171c569ea7f74f59dc8f3dcc957220aa09f343 
missing tree fda728fd6e61790133f15e073335e2e6c43dc31b 
dangling tree 29088a01bfe6bde49cf1176b7ed1171dd8f8e334 
missing commit e27876491d426b8d9f3932eb2ee494145f8776b5 
dangling tree e3c8535db10a99db65fbd5c2e58e2c3b59159d24 
missing tree 3d7994b9dad00c47c64b99e30693c0215b0aa5eb 
dangling tree 6129fef595c71128c0dc24ebd4248ef231cfe90d 
missing tree a5b976cb4f82b339f22c74811f47ad31d353764b 
missing tree ea29c58710d7d3aa7cce589de9b46503d0e9565e 
missing tree 649a4fc0f5a9d06c67223a36116c7c8aeaa2c6b9 
missing commit 8f2ad8d3aaccfcfad8cd7c30ea938008378591fd 
missing blob ea1ae4f5cd2a6ec1e9982108cdbce7de5858d0d9 
dangling tree f69a44eac9426e3fcfb4eb1545c966beb72b37b0 
missing tree fdead5b5ff4ae53b54104ab5b7fa2369f0adb4f7 
missing commit a69b6f1a1b224b2ba846590d6ddd65ca0079a1bb 
missing blob 453c02a0bbce4748a3e3d3da4c29498cbf4b01d0 
missing tree 91ec315f9730d3541bba2603f09d69b2b6d5ead0 
missing tree d4dcb141f4ea62228e85f6b35c5b4d2f22a8720e 
missing tree 896deb89905c80893512a61d9f8e9fc3760f3a53 
dangling tree deeec6312c058722ffcf1b5cf14d997c14890eb1 
dangling blob 0b7fc81faf339d77c2146f406a9f90c4431da4e2 
missing tree 691f8fac71c39b2182acf51f56ac39c4bc4759d5 
missing blob 7fef3c0e58d6c2825703576b3ecb148040e2b0cf 
dangling tree 95cf9c35987a0b715d4f736d2cf9dacf82c958ae 
dangling tree ce4feefca69bd3fbc82205c4c3f1c116f73b623c 
+1

원격 저장소를 새 폴더로 복제 해보십시오. 이러한 오류가 있습니까? 그렇지 않으면이 복제본을 사용하여 손상된 것을 삭제하십시오. –

+0

복제했습니다. 오류가 없습니다. 어쨌든이 방법을 사용해 보겠지 만 .git 폴더가 아닌 폴더를 내 '작업 디렉토리'에서 새로 복제 된 디렉토리로 복사하는 것이 안전할까요? – Aeisor

+0

답변으로 의견을 말하면 받아 들일 것입니다. 내가 변경된 파일을 한 디렉토리에서 다른 디렉토리로 옮겼는데 내가 보류 중임을 인식했다. 지금은 괜찮을 것 같습니다. 도움 주셔서 감사합니다. – Aeisor

답변

4

원격 저장소를 새 폴더로 복제 해보십시오.
이 오류가 있습니까? 그렇지 않으면이 복제본을 사용하여 손상된 것을 삭제하십시오.

아직 커밋되지 않은 수정 된 파일은 새 폴더로 간단히 복사 할 수 있습니다. 중요 : .git 폴더를 복사하지 마십시오.

+0

나는 stackoverflow를 먼저 검색하지 않고 몇 시간 동안 들어 본 적이없는 git 명령을 사용해 본 다음 모든 것을 포기했을 때를 기억합니다. 아 간단한 해결책은 실제로 가장 감미롭다! –

3

나를 위해, 단순한 git gc이 일을했습니다 ... 이것은 내게 몇 가지를주었습니다 rm : 연결 해제 할 수 없습니다 ... 사용 권한이 거부되었습니다. 메시지가 거부되었습니다. 그러나 결국, 그것은 나의 경우를 위해 일한 것처럼 보였다.

버그는 repo가 ​​얼마나 정확하게 손상되었는지에 따라 달라집니다.

+0

감사합니다. rebase가 나빠진 후에 내 레포를 구해 줬습니다. GC 가비지가 커밋을 수집하지 못하는 경우를 대비하여 먼저 repo를 백업하는 것이 좋습니다. – thenickdude