2012-09-06 3 views
4
에 원하지 않았다

내 지점 "branch_a"는 "마스터"에 같은 이름의 파일에서 다른되어서는 안 파일 (file_a.txt)가 있습니다. 이 변경된 파일을 분기에서 제거하여 "master"의 변경되지 않은 파일이 다시 나타나도록 해당 분기의 변경된 분기가 아닌 방식으로 분기를 변경하려고합니다. 내가 피하려고하는 것은 변경되지 않아야 할이 파일을 유지해야한다는 것입니다. 힘내 : 분기에 파일이 더 이상 가지

내가 도움이 될 수있는 첫 번째 자식 리셋에서 생각했다. 그렇다면 파일을 "git-rm"해야한다고 생각했지만 파일을 남기지 않을 것입니다. 브랜치에서 제거해야하므로 더 이상 "마스터"와 다른 버전이 아닙니다. 이 상황에서 가장 좋은 방법은 무엇입니까?

답변

4

난 당신이 그냥 올바른 삭제 변경의 역사를 master에 다시 버전으로 해당 파일을 재설정 할 필요가 가정? 전자는 간단합니다. 후자는 내역 수정이 필요하며 가볍게 수행하면 안됩니다 (특히 현지 지사 외부로 지사를 푸시 한 경우).

은, 당신의 지점을 확인하고

git checkout master -- foo/bar/baz.txt 

이 마스터에서 파일을 사로 잡고, 실행, 다시는 master에있는 상태로 파일 foo/bar/baz.txt의 내용을 다시 설정 작업 카피로 쓰기 및하려면 색인에 넣으십시오. 이제 git commit 만 가능하고 이제 파일은 master의 파일과 일치 할 수 있습니다.

+0

예, 나는이 내가 원하는 것과 같은 효과를 가질 것이라고 생각하지만,이 같은 일이 아닙니다. 마스터의 파일이 변경되면 (업스트림), 분기에서 다시 병합하거나 리베이스해야합니다. 작업하고있는 지사가 프로젝트마다 다르기 때문에 코드 변경이 아닌 구성 변경 만 포함되므로이 작업을 수행하지 않아도됩니다. 따라서이 파일을 더 이상 지사에 보관하지 않으려합니다. –

+0

@ckelly : VCS가 어떻게 작동하는지 당신이 생각하지 않습니다. 마스터에서 * anything *이 변경되면 마스터에서 변경 사항을 병합하지 않으면 브랜치에 변경 사항이 표시되지 않습니다. 당신이 요구하는 것은 불가능합니다. –

+0

네, 케빈. 나는 힘내에서 아주 새롭다. 내가 찾고있는 것은 완전히 새로운 기능입니다. 따라서 "see-thru"브랜치가 발명 될 때까지는 정기적으로 리베이스/병합해야합니다. –

관련 문제