2014-08-27 4 views
0

다른 파일이있는 같은 이름의 폴더를 추가하는 저장소의 헤드에서 분기를 분리했습니다. 매번 커밋을 원할 때마다 수동으로 저장소에있는 폴더를 삭제하고 동일한 이름을 가진 새 콘텐츠를 추가합니다.하지만 나중에 다른 콘텐츠를 커밋하고 밀어 넣습니다. 문제는 내가 과거 커밋 중 하나를 체크 아웃 할 때 해당 폴더를보고 선택한 커밋과 과거 커밋의 콘텐츠가 포함되어 있지만 구체적인 커밋만으로 콘텐츠를보고 싶다는 것입니다. 그래서, 그렇게 할 수 있는지 물어보고 싶습니다. 어떻게해야합니까? 어쩌면 내가 어떤 종류의 자식 명령을 사용하여 내 저장소에서 파일을 삭제해야합니까? (하지만 사실이라면 마지막 커밋의 파일이 손실되지 않도록해야합니다.)git checkout 콘크리트 커밋 중에 커밋 된 파일 만

답변

1

커밋하기 전에 항상 git의 추적을 유지하고 git rm your_directory을 수행하는 디렉토리의 모든 파일을 추적 된 파일에서 제거해야합니다.

당신이 그것을하지 않으면, 자식이 커밋 이전에 다른 파일을했고, 단지 커밋 새에 존재하지 않는 파일을 제거하지 않고, 차이를 추가하는 것을 기억합니다.

그래서 git에게 파일을 제거하겠다고 말한 다음 새 디렉토리를 복사 한 후 git add your_directory으로 새 파일을 다시 추가하기 만하면됩니다.

자식이됩니다이 방법 :

  • 가 이전 파일을 제거해야한다는 것을 이해
  • 는 새 파일을 추가/디렉토리/디렉토리

당신은 동일한 작업을 수행해야 "파일 시스템 레벨"에서 수동으로 수행하는 작업은 "git level"에서 수행하십시오.

내가 원하는 것을 알고 있는지 확인하십시오. 그게 효과가있다면!

0

전체 기록을 노출하지 않고 커밋을보고 싶습니다. 최선의 방법은 고아 지점을 사용하는 것입니다.

당신이 할 -

git --orphan <new_branch> 

이이 깨끗한 새로운 지점으로 전환됩니다 당신을 당신이 다음에 체크 아웃 할 수 있습니다 후 부모가에 연결된 모든 역사없이 커밋 될 것이다 커밋 원하는.

+0

이 방법을 사용하면 그가 원하는 모든 커밋에 대해 새 분기를 얻을 수 없습니까? 또는 * OP의 디렉토리 사본 *에 대한 모든 커밋은 여전히 ​​동일한 지사에 상주 할 것입니다. – Kamafeather