git은 커밋되지 않았거나 저장되지 않은 모든 변경 사항을 실행 취소합니다.
마지막 커밋 이후 모든 변경 사항을 취소하려고합니다. 나는 시도 git reset --hard
하고 git reset --hard HEAD
본 후 이 게시물을 . 나는 머리가 지금 18c3773에 있다고 응답하지만, 내 로컬 소스를 보면 모든 파일이 여전히 거기에 있습니다. 내가 무엇을 놓치고 있습니까?
다음으로 스테이징했을 수있는 모든 파일을 언 스테이징합니다
git add
.git reset
커밋되지 않은 모든 로컬 변경 사항을 되돌립니다 (repo 루트에서 실행해야 함).
git checkout .
커밋되지 않은 변경 사항을 특정 파일 또는 디렉토리에만 되돌릴 수도 있습니다.
git checkout [some_dir|file.txt]
커밋되지 않은 모든 변경 사항을 되 돌리는 또 다른 방법 (입력하는 데 더 오래 걸리지 만 모든 하위 디렉터리에서 작동) :
git reset --hard HEAD
이렇게하면 모든 로컬 추적되지 않은 파일이 제거되므로 git 추적 파일 만 남습니다.
git clean -fdx
경고 : !로
-x
지정된 파일을 포함하여 무시 된 모든 파일도 제거합니다.gitignore
.-n
삭제할 파일의 미리보기에 사용할 수 있습니다 .
요약하자면, 아래 명령을 실행하는 것은 기본적으로 git clone
원본 소스에서 새로 온 것과 동일합니다 (하지만 아무것도 다시 다운로드하지 않으므로 훨씬 빠릅니다).
git reset
git checkout .
git clean -fdx
이에 대한 일반적인 사용법은 트리가 완전히 깨끗한 지 확인해야 할 때 빌드 스크립트에서입니다. 수정 사항이 없거나 로컬에서 생성 된 개체 파일 또는 아티팩트를 빌드하지 않고 매우 빠르게 작동하고 다시 작동하지 않으려는 경우 매번 전체 저장소를 복제하십시오.
커밋되지 않은 모든 변경 사항 을 " 실행 취소 "하려면 다음을 실행하십시오.
git stash
git stash drop
추적되지 않은 파일이있는 경우 (실행하여 확인 git status
) 다음을 실행하여 제거 할 수 있습니다.
git clean -fdx
git stash
stash @ {0} 가 될 새 숨김을 만듭니다 . 먼저 확인하려면 git stash list
은닉 목록을보기 위해 달리면됩니다. 다음과 같이 보일 것입니다.
stash@{0}: WIP on rails-4: 66c8407 remove forem residuals
stash@{1}: WIP on master: 2b8f269 Map qualifications
stash@{2}: WIP on master: 27a7e54 Use non-dynamic finders
stash@{3}: WIP on blogit: c9bd270 some changes
각 숨김은 이전 커밋 메시지의 이름을 따서 명명됩니다.
또한 git stash
-로컬 변경 사항을 "스 태시"하고 나중에 다시 적용하거나 더 이상 필요하지 않은 경우 삭제할 수 있습니다.
소스 트리를 사용하고 있습니다 .... 두 가지 간단한 단계를 통해 커밋되지 않은 모든 변경 사항을 되돌릴 수 있습니다.
1) 작업 공간 파일 상태를 재설정하면됩니다.
2) 모든 언 스테이지 파일 (command + a)을 선택하고 마우스 오른쪽 버튼을 클릭 한 다음 제거를 선택합니다.
그것은 간단합니다 : D
eclipse 에서 git clean -f -d
생성 된 파일 이 삭제 된을 (를) 실행 취소 할 수 있는지 여기에 도달 한 사람들을 위해 ,
참조에 대해 "로컬 기록에서 복원"을 사용하여 UI에서 동일하게 수행 할 수 있습니다. 로컬 기록에서 복원
한 커밋에서 새 커밋으로 전환하는 상태
0. last commit,i.e. HEAD commit
1. Working tree changes, file/directory deletion,adding,modification.
2. The changes are staged in index
3. Staged changes are committed
상태 전환을위한 작업
0->1: manual file/directory operation
1->2: git add .
2->3: git commit -m "xxx"
차이 확인
0->1: git diff
0->2: git diff --cached
0->1, and 0->2: git diff HEAD
last last commit->last commit: git diff HEAD^ HEAD
마지막 커밋으로 되돌리기
2->1: git reset
1->0: git checkout . #only for tracked files/directories(actions include modifying/deleting tracked files/directories)
1->0: git clean -fdx #only for untracked files/directories(action includes adding new files/directories)
2->1, and 1->0: git reset --hard HEAD
아무것도 다시 다운로드하지 않고 git clone과 동일
git reset; git checkout .; git clean -fdx
내가하는 일은
git add . (adding everything)
git stash
git stash drop
짧막 한 농담: git add . && git stash && git stash drop
참고 URL : https://stackoverflow.com/questions/14075581/git-undo-all-uncommitted-or-unsaved-changes
'Nice programing' 카테고리의 다른 글
event.stopPropagation과 event.preventDefault의 차이점은 무엇입니까? (0) | 2020.09.29 |
---|---|
커밋 메시지로 Git 저장소를 검색하는 방법은 무엇입니까? (0) | 2020.09.29 |
NaN 값을 어떻게 확인할 수 있습니까? (0) | 2020.09.28 |
오류-IIS 메타베이스에 액세스 할 수 없습니다. (0) | 2020.09.28 |
setup.py는 무엇입니까? (0) | 2020.09.28 |