2013-12-19 3 views
2

나는 "feature"지점에 있습니다. 모든 변경 작업을 마친 후이 지점에서 작업하기로 결정했습니다. 위에서 보듯이내 경우에 위트 커밋

On branch feature 
# Changes not staged for commit: 
# (use "git add <file>..." to update what will be committed) 
# (use "git checkout -- <file>..." to discard changes in working directory) 
# 
# modified: MyApp/src/Main.java 
# modified: MyApp/src/Model.java 

# Untracked files: 
# (use "git add <file>..." to include in what will be committed) 
# 
# MyApp/src/other/file1 
# MyApp/src/other/file2 

이 두 이 있습니다 : 위의 자식 명령은 다음과 같은 결과를 인쇄

git status 

:

내가 먼저 내가 실행 명령에 의해 만들어진 모든 변경 사항을 확인 추적되지 않은 파일 file1file2. 내 git 저장소에 저장하고 싶지 않습니다. 하지만이 두 파일을 잊었 어떤 이유로 &에 의해 직접 내 변화를 약속 :이 시점에서

git add . 
git commit -m "Some changes" 

, file1 & file2을 포함한 모든 변경 사항이 최선을 다하고 있습니다. 자, 어떻게 구할 수 file1 & file2 제외 여전히 다른 수정 된 변경 사항을 커밋 유지?

당신이 최선을 다하고 그리고 당신이 그 파일을 추가하고 싶지 않았다 실현, 당신이 같이 해결할 수 있습니다 후

+0

https://www.kernel.org/pub/software/scm/git/docs/git-reset.html에서 commti 및 redo를 실행 취소하십시오. – dekdev

답변

5

(나는 내 ​​로컬 디스크에 필요한 디스크에서 file1 & file2 삭제 나에게 제안하지 마십시오) 이 :

git reset HEAD^ --soft 
git reset MyApp/src/other/file1 MyApp/src/other/file2 
git commit -m "Some changes" 

git reset HEAD^ --soft 취소됩니다 마지막 커밋 : 작업 디렉토리는 커밋 이전의 상태로 복원됩니다. --soft 플래그 덕분에 스테이징 영역은 그대로 유지되므로 git reset을 사용하여 두 파일을 언 스타트하고 다시 커밋 할 수 있습니다.

echo MyApp/src/other/file1 >> .gitignore 
echo MyApp/src/other/file2 >> .gitignore 

가 PS : 당신에게 @hekdev 감사

프로젝트의 .gitignore 파일에 추가하여, 그때는 아마 그들을 무시하려면, 버전 제어에 해당 파일을 추가하지 않으려면

--soft 팁.

+1

git reset --soft?를 참조하십시오. – dekdev

+0

'--soft'와'--mixed' (기본값) 사이의 유일한 차이점은 soft가 파일을 스테이징하는 것입니다.문제는 그 파일들이 존재하지 않아야 할 때 그 파일들이 준비되어 졌기 때문에,'--soft'를 사용하면 그 파일을 업 스테이지하기 위해 다른'git reset '이 필요할 것입니다. –

+0

"git reset .../file2"의 의미는 무엇입니까? 이 명령은 file2를 다시 추적 할 수 없도록 되돌 립니까? –

1

당신은

git rm --chached path_to_file 

file1file2 추적 중지 자식을 말할 수 있습니다. 삭제 된 것으로 표시되지만 여전히 디렉토리에 존재합니다. 그런 다음 git add을 통해 삭제 항목을 추가합니다.

파일을 .gitignore에 선택적으로 추가 할 수 있으므로 향후에 파일을 추적 할 수 없습니다. 그런 다음 당신은 당신의 마지막 변경과 함께 커밋 개정 할 것 :

git commit --amend 

는 희망이 당신을 도와줍니다!

관련 문제