도망자 상태 창에서 파일 변경을 어떻게 버릴 수 있습니까? 삭제하는 비슷한 지름길이

를 사용하여 액세스 한 임시 플러그인 상태 창 에서을 사용하여 :Gstatus파일의 변경 사항을 비교 D하고을 사용하여 커밋 할 파일을 토글 할 수 있습니다 -.

변경 사항을 삭제하는 비슷한 지름길이 git checkout -- filename있습니까?

최신 정보:

도망자 github 페이지 에서 기능 요청을 발견했습니다 . 이슈 # 97 : 파일을 체크 아웃 / 제거하는 바로 가기

선호하는 방법은 :Gread :w

업데이트 2 :

2014 년 6 월부터 아래의 Anson이U 답변 한대로 사용할 수 있습니다 .

업데이트 3 : 2019 년 1 월 3 일
이후 키 바인딩이X



답변

이 기능은 2014 년 6 월에 추가되었으며 기본적으로에 매핑되어 U있습니다.

이 정보는 다음의 도움말 파일에 있습니다 :h :Gstatus.

     U     |:Git| checkout HEAD

기능 요청 및 토론 :
https://github.com/tpope/vim-fugitive/issues/97

커밋 :
https://github.com/tpope/vim-fugitive/commit/061a81f247538aeb61e165e1551355f289d52f63


답변

당신은 사용할 수 있습니다 도망자 ‘의 Gread(즉이가 아니라에서, 파일의 버퍼에서 수행해야하는 버퍼의 파일의 여러 다른 버전 버퍼의 내용을 대체하는 명령을 :Gstatus버퍼).

  • :Gread(인수없이) 인덱스 의 파일 버전을 사용합니다 .
  • :Gread - HEAD 커밋에서 파일 버전을 사용합니다.

도망자가 지원 :help fugitive-revision하는 다른 개정 사양 목록 은 위의 설명서를 참조하십시오 (위의 두 가지는 아마도 가장 유용한 것임).

:Gread워크 플로우는 다음과 같이 진행된다 :

  1. :Gread
  2. 도망자 는 현재 버퍼를 지우고 색인에서 내용을 읽습니다.
  3. 결과 : 버퍼의 색인 내용이 동일합니다. 작업 트리 파일은 변경되지 않습니다.
  4. 후속 :w작업으로 파일을 작업 트리에 저장하거나 파일을 :Gread|w즉시 저장하려는 경우 사용할 수 있습니다.

:Git checkout -- %워크 플로우는 다음과 같이 진행된다 :

  1. :Git checkout -- %
  2. Git은 인덱스의 파일 버전을 작업 트리의 파일로 복사합니다.
  3. Vim은 파일이 편집기 외부에서 변경되었음을 확인하고 무시하거나 다시로드하라는 메시지를 표시합니다.
  4. Vim에게 파일을 다시로드하라고 지시합니다.
  5. 결과 : 작업 트리 파일과 버퍼 모두 색인의 컨텐츠를 갖습니다.

요약 : :Gread“편집이 시작된 후 파일이 변경되었습니다”메시지를 피하고 작업 트리에서 파일을 수정할시기를 결정할 수 있습니다.


버퍼가 작업 트리에서 파일 대신 파일의 인덱스 단계를 나타내는 경우, 인덱스 :Gread의 단계 0 대신 작업 트리의 디스크에 존재하는 파일의 내용을 읽습니다.


답변

파일을 되돌릴 gstatus의 매핑 :

au FileType gitcommit nmap <buffer> U :Git checkout -- <c-r><c-g><cr>


답변

글쎄, 당신은 시도 :help fugitive했습니까?

분명히 Git 기능에 대한 지름길은 없습니다.


답변

vim과는 아무런 관련이 없지만 때때로 내가한다고 말하는 것을 생각했습니다.

$ git status
...
#
#   modified:   .rvmrc
#   modified:   app/views/admin/base/index.html.erb
#   modified:   config/routes.rb
#
...

$ # mouse-copy the files i want to reset, and paste them into the next command

$ cat | xargs git checkout
app/views/admin/base/index.html.erb
config/routes.rb
^D

작업을 빠르게 마무리합니다.


답변