版本控制 - git 如何还原某个文件
过去多啦不再A梦
过去多啦不再A梦 2017-04-28 09:06:04
0
6
814

目的

想把文件 include/plugin/funclib/function_member.php 恢复到 b257f8685b71a471c4f797d05f52a1a576047ed2 (2014-12-29 23:38)这个版本,但是使用 git reset b257f8685b71a471c4f797d05f52a1a576047ed2 include/plugin/funclib/function_member.php 一直无法实现。

代码


Administrator@USER-20140115FZ /D/website/xxx.com/www (master) $ git log include/plugin/funclib/function_member.php commit bbb0a005d245e6d5ef5b1c0b1b0ef2981fa3ecb9 Author: ken <xxx@gmail.com> Date: Mon Jan 5 22:07:37 2015 +0800 for reset commit b257f8685b71a471c4f797d05f52a1a576047ed2 Author: ken <xxx@gmail.com> Date: Mon Dec 29 23:38:09 2014 +0800 add reg forbbiden commit 052c0233bcaef35bbf6e6ebd43bfd6a648e3d93b Author: ken <xxx@gmail.com> Date: Mon Dec 29 21:51:44 2014 +0800 add coname filter for register commit 53298e00de944863f6092d0d4c0a260d00124f9f Author: ken <xxx@gmail.com> Date: Mon Dec 29 01:24:13 2014 +0800 add referrals.php delete some php files like serv.php yqm.php,modify registe commit 44118e5256eb9786d024f9b7d2dfb8af0bd8a308 Author: default7 <xxx@gmail.com> Date: Sun Jul 27 17:05:21 2014 +0800 first commit Administrator@USER-20140115FZ /D/website/xxx.com/www (master) $ git reset b257f8685b71a471c4f797d05f52a1a576047ed2 include/plugin/funclib/fun ction_member.php --hard fatal: Cannot do hard reset with paths. Administrator@USER-20140115FZ /D/website/xxx.com/www (master) $ git reset b257f8685b71a471c4f797d05f52a1a576047ed2 include/plugin/funclib/fun ction_member.php Unstaged changes after reset: M include/plugin/funclib/function_member.php Administrator@USER-20140115FZ /D/website/xxx.com/www (master) $
过去多啦不再A梦
过去多啦不再A梦

모든 응답(6)
给我你的怀抱

그냥 git-checkout을 사용하세요. 이해하는 것이 조금 이상합니다.

으아아아

출처 참고 :

  • http://stackoverflow.com/questions/215718/reset-or-revert-a-특정-file-to-a-특정-revision-using-git
  • https://www.kernel.org/pub/software/scm/git/docs/git-checkout.html
滿天的星座

아직 실행이 필요합니다 git checkout xxxxx(文件名)

phpcn_u1582

Git에서는 단일 파일을 지정된 버전으로 복원할 수 없습니다.
1. git Reset 버전 번호 이때 해당 버전 번호에 해당하는 브랜치가 생성됩니다
2. 이 브랜치로 git checkout을 실행하고 복원할 파일을 복사하세요.
3. 원래 브랜치로 git 체크아웃하고, 파일을 다시 복사하고, 현재 파일을 덮어쓴 다음 git add, git commit

世界只因有你

tortoisegit을 사용하면 좋을 것 같아요. 구성 후 바로 그래픽 인터페이스도 있고, rever로 이전 버전을 복원할 수도 있어요

漂亮男人

1. 제출물이 원격 측에 공유 및 게시되지 않은 경우 git rebase -i Origin/branch를 사용하여 해당 브랜치를 편집한 다음 git commit --ammend를 다시 제출할 수 있습니다.
2. 제출물이 원격 엔드에 공유된 경우 해당 분기로 git revert만 사용한 다음 다른 파일을 체크아웃하고 이 수정 사항만 유지한 다음 제출할 수 있습니다.
3. 좀 복잡하네요. 저는 보통 웹스트롬의 git 컨트롤에서 특정 버전의 파일을 클릭해서 되돌린 후 제출합니다.

Ty80

git checkout <sha1-of-a-commit> </경로//사용자/파일>

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!