sourcecode

git vim 임시 파일 무시

codebag 2023. 5. 18. 21:02
반응형

git vim 임시 파일 무시

vim이 모든 디렉토리(시스템 전체 또는 단일 프로젝트의 경우 로컬)에서 생성한 임시 파일을 git가 무시하도록 만드는 올바른 방법은 무엇입니까?

Vim 임시 파일은 파일에 추가할 수 있도록 ~로 끝납니다..gitignore전선

*~

또한 Vim은 swp 및 swo 확장자가 있는 스왑 파일을 생성합니다. 이러한 파일을 제거하려면 다음 행을 사용합니다.

*.swp
*.swo

그러면 단일 프로젝트의 모든 vim 임시 파일이 무시됩니다.

전역적으로 실행하려는 경우 홈에 .gitignore 파일을 생성하고(다른 이름이나 위치를 지정할 수 있음) 다음 명령을 사용할 수 있습니다.

git config --global core.excludesfile ~/.gitignore

그런 다음 무시할 파일을 해당 파일에 추가하기만 하면 됩니다.

Git 파일에서 주석을 달려면 별도의 행에서 주석을 달아야 합니다.

# Ignore vim files:
*~
*.swp
*.swo

활성 Git ignore와 동일한 줄에 배치된 주석은 전체 줄을 잘못 해석하게 됩니다.

또는 다음과 유사한 행을 추가하여 스왑 파일을 별도의 위치에 저장하도록 vim을 구성할 수 있습니다..vimrc파일:

set backupdir=$TEMP//
set directory=$TEMP//

자세한 내용은 이 vim 팁을 참조하십시오.

이 작업은 저장소 단위가 아니라 사용자 단위로만 수행해야 합니다.Joe가 emacs를 사용하는 경우 emacs 백업 파일을 무시하고 싶지만, Betty(vi 사용)는 vi 백업 파일을 무시하기를 원할 것입니다(많은 경우 유사하지만, 약 24,893개의 공통 편집기가 존재하며 다양한 백업 확장자를 모두 무시하려는 것은 매우 우스꽝스러운 일입니다).

즉, 아무것도 넣지 마십시오..gitignore또는 안에core.excludes또는 안에$GIT_DIR/config정보 입력$HOME/.gitconfig대신 (누노폴리니아가 시사하는 바와 같이)--global.) "글로벌"은 시스템별이 아니라 사용자별을 의미합니다.

모든 사용자에 대해 시스템 전체에서 구성하려면(그렇지 않은 경우) 다른 메커니즘이 필요합니다.(리포지토리를 초기화하기 전에 템플릿을 설정한 경우일 수 있습니다.)

다음과 같은 파일은 무시하는 것이 좋습니다.

.*.swp
.*.swo

다음으로 끝나는 파일이 있을 수 있습니다..swp

스왑 파일 확장명을 생성하는 실제 VIM 코드는 다음과 같습니다.

/* 
 * Change the ".swp" extension to find another file that can be used. 
 * First decrement the last char: ".swo", ".swn", etc. 
 * If that still isn't enough decrement the last but one char: ".svz" 
 * Can happen when editing many "No Name" buffers. 
 */
if (fname[n - 1] == 'a')        /* ".s?a" */
{   
    if (fname[n - 2] == 'a')    /* ".saa": tried enough, give up */
    {   
        EMSG(_("E326: Too many swap files found"));
        vim_free(fname);
        fname = NULL;
        break;  
    }
    --fname[n - 2];             /* ".svz", ".suz", etc. */
    fname[n - 1] = 'z' + 1;
}
--fname[n - 1];                 /* ".swo", ".swn", etc. */

그러면 다음 형식의 스왑 파일이 생성됩니다.

[._]*.s[a-v][a-z]
[._]*.sw[a-p]
[._]s[a-v][a-z]
[._]sw[a-p]

이는 Github의 VIM용 Gitignore 파일에 포함된 것과 거의 같습니다.

다른 사람들이 올바르게 지적했듯이 이 .gitignore는 .svg 이미지 파일과 .swf 어도비 플래시 파일도 무시합니다.

"git commit" 전에 vim을 종료합니다.

만들기 위해서vim파일에 으)로 표시됩니다./tmp예):

set bdir-=.
set bdir+=/tmp

vim이 .swp 파일에 대해 현재 폴더 사용을 중지하도록 하려면:

set dir-=.
set dir+=/tmp

vim에는 bdir, dir에 대한 다른 기본값이 있기 때문에 일반적으로 사용하는 것이 좋습니다. 모든 것을 지우고 싶지는 않습니다.bdir에 대한 자세한 내용은 vim 도움말을 확인하십시오.

:h bdir
:h dir
# VIM: Temperory files
*~

# VIM: Swap-files
[._]*.s[a-w][a-z]
[._]s[a-w][a-z]

# VIM: Commands :cs, :ctags
tags
cscope.*

# VIM session
Session.vim

# VIM: netrw.vim: Network oriented reading, writing, browsing (eg: ftp scp) 
.netrwhist

스왑 파일의 이름은 일반적으로 편집 중인 파일과 동일하며 확장명은 ".swp"입니다.

  • Unix에서는 편집한 파일과 동일한 디렉터리에 있는 파일 이름을 스왑하기 위해 '.'가 앞에 추가됩니다.이렇게 하면 스왑 파일이 디렉토리 목록에 표시되지 않습니다.
  • MS-DOS 시스템에서 'shortname' 옵션이 켜져 있으면 원래 파일 이름의 '.'가 '_'로 바뀝니다.
  • 이 파일이 이미 존재하는 경우(예: 충돌에서 복구하는 경우) 경고가 표시되고 다른 확장자인 ".swo", ".swn" 등이 사용됩니다.
  • 기존 파일은 덮어쓰지 않습니다.
  • Vim이 파일 편집을 중지하는 즉시 스왑 파일이 삭제됩니다.

MS-DOS 호환 파일 시스템(예: crossdos, multidos)의 문제를 방지하기 위해 '.'를 '_'로 대체합니다.

http://vimdoc.sourceforge.net/htmldoc/recover.html

http://www.vim.org/scripts/script.php?script_id=1075

vim에 의해 생성된 임시 파일을 무시합니다.

[._]*.s[a-w][a-z]
[._]s[a-w][a-z]
*.un~
Session.vim
.netrwhist
*~

여기에서도 볼 있습니다.

그럼요.

프로젝트의 홈 디렉토리에 ".gitignore"를 생성하고 다음을 포함해야 합니다.

*.swp

바로 그겁니다.

일심지어.

project-home-directory$ echo '*.swp' >> .gitignore

이 이미 .수정해도 해당 파일에 라는 .git rm files_to_be_ignored --cache먼저 커밋한 다음 완료합니다.

Alex Moore-Niemi가 언급한 Mac에서 작동합니다.

set backupdir=$TMPDIR//
set directory=$TMPDIR//

반드시 사용하십시오.TMPDIR그리고 아닌TEMPDIR.

vim temp 쓸모 vim 파일은 쓸모가 없습니다. vim temp 파일은 사용할 수 없습니다.
따라서 vim을 생성하지 않도록 구성하는 것이 좋습니다.

~/.vimrc를 편집하고 다음 행을 추가합니다.

set nobackup
set noswapfile

언급URL : https://stackoverflow.com/questions/4824188/git-ignore-vim-temporary-files

반응형