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 add . (adding everything)
git stash
git stash drop
의 라이너: 라너하나이::git add . && git stash && git stash drop
git stash -u && git stash drop
이전 답변이 변경사항을 영구적으로 삭제하므로 이 답변을 추가합니다.
세이프웨이
git stash -u
설명:추적되지 않은 변경사항을 포함하여 로컬 변경사항을 저장합니다.-u
flag이 commitflag)와. 이 명령은 로컬 수정사항을 저장하고 HEAD 커밋과 일치하도록 작업 디렉토리를 되돌립니다.
나중에 변경 사항을 복구하시겠습니까?
git stash pop
설명:이 명령은 변경 사항을 현재 작업 트리 상태의 맨 위에 다시 적용합니다.
변경 사항을 영구적으로 제거하시겠습니까?
git stash drop
설명:명령이 저장된 항목을 영구적으로 제거합니다.
다▁is니▁there도 있습니다.git stash
로컬 을 "하고 나중에 하거나 더 이상 수 .
커밋을 위해 준비되지 않은 변경 사항을 실행 취소하는 다른 옵션은 다음을 실행하는 것입니다.
git restore <file>
작업 디렉토리의 변경사항을 취소합니다.
소스 트리를 사용하고 있습니다.커밋되지 않은 모든 변경 사항을 두 가지 간단한 단계로 되돌릴 수 있습니다.
작업 공간 파일 상태를 재설정하기만 하면 됩니다.
모든 언스테이지 파일(명령 +a)을 선택하고 마우스 오른쪽 버튼을 클릭한 후 제거를 선택합니다.
그렇게 간단합니다.d
커밋되지 않은 모든 변경 또는 로컬 변경을 "실행 취소"하려면 다음을 실행합니다.
git add .
git stash
git stash drop
git clean -fdx
까지 와서 할 수 요.git clean -f -d
이클립스에서 생성된 파일이 삭제되었습니다.
참조에 "로컬 히스토리에서 복원"을 사용하여 UI에서 동일한 작업을 수행할 수 있습니다.로컬 기록에서 복원
git restore [filename_path]
예를 들어 마지막 변경 내용을 삭제해야 합니다.index.html
파일 이름:
git restore /usr/myPC/folder/index.html
하나의 커밋에서 새로운 커밋으로 전환되는 상태
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 reset --hard HEAD
Git에는 로컬 변경을 실행 취소하는 데 도움이 되는 세 가지 옵션이 있습니다.
작업 디렉터리에서 변경된 내용을 보려면 git 상태를 실행해야 합니다.
git status
gitstashGitstash를 내용
모든 로컬 변경 내용을 삭제하고 나중에 사용할 수 있도록 저장하려면 git stash 명령을 실행합니다.
git stash
취소Git Checkout으로 변경
파일의 로컬 변경 내용을 영구적으로 취소하려면 다음을 실행합니다.
git checkout -- <file>
reset으로 취소하기 재 정 여 변 실 행 경 취 소
모든 파일에 대한 모든 로컬 변경 내용을 영구적으로 삭제하려면 다음 작업을 수행합니다.
git reset --hard
출처: https://www.w3docs.com/snippets/git/how-to-discard-unstaged-changes.html
다음은 재사용 가능한 Git 명령 별칭을 정의하여 로컬 변경사항을 제거한 후 언제든지 커밋되지 않은 변경사항을 삭제하는 데 사용할 수 있습니다.
git config --global alias.remove-changes '!git stash push --include-untracked && git stash drop'
별칭을 사용하는 것은(는)
git remove-changes
별칭은 다음을 사용하여 모든 변경 사항(커밋되지 않은 변경 사항 포함)을 스택에 푸시합니다.git stash push --include-untracked
그런 다음 을 사용하여 새로 생성된 스택 항목을 삭제합니다.git stash drop
.
# Navigate to project root, `.` works too.
git restore *
git status
변경된 파일이 있음을 보여주었지만, 이러한 파일을 제거하고 새로운 지점을 시작하고 싶었습니다.오늘까지 저는 다른 특정 커밋으로 다시 이동하는 것을 좋아하는 Git Reset 접근 방식을 사용했습니다.
저는 우연히 Github 저장소를 발견했습니다. Github 저장소는 무언가를 매우 쉽게 되돌릴 수 있게 해줍니다.라고 하는ugit
딱 맞는 활자ugit
명령을 취소하기 할 수 합니다.
언급URL : https://stackoverflow.com/questions/14075581/git-undo-all-uncommitted-or-unsaved-changes
'itsource' 카테고리의 다른 글
Visual Studio 새 브라우저 인스턴스를 열지 않음 (0) | 2023.04.27 |
---|---|
분산 트랜잭션을 시작할 수 없습니다. (0) | 2023.04.27 |
iOS에서 사용자로부터 현재 위치를 가져오는 방법 (0) | 2023.04.27 |
내 앱을 다시 배포하지 않고 Windows Azure에 배포된 클라우드 앱의 web.config를 편집할 수 있습니까? (0) | 2023.04.27 |
다중 행 UI 텍스트 필드를 만드는 방법은 무엇입니까? (0) | 2023.04.27 |