추적되지 않은 파일을 어떻게 저장합니까?
파일 및 새 파일을 변경했는데, 다른 작업으로 전환하는 동안 git stash를 사용하여 파일을 정리하고 싶습니다.그러나 git stash는 그 자체로 기존 파일의 변경만 저장합니다.새로운 파일은 작업 트리에 남아서 앞으로의 작업을 방해합니다.이 추적되지 않은 파일을 어떻게 저장합니까?
파일 「」에 )을 한다..gitignore
cmd로 하다
git stash --include-untracked
줄여서 을 쓸 도 있어요.-u
--include-untracked
단순히 「」라고 하는 것.git stash --all
추적되지 않은 파일 및 무시된 파일을 포함한 모든 파일을 저장합니다.이 바하비는 2018년에 변경되었으니, 당신의 git을 최신 상태로 유지하세요.
경고: 무시된 디렉토리의 내용이 영구적으로 삭제될 수 있는 경우가 있는 것 같습니다. 자세한 내용은 이 아카이브된 웹 사이트를 참조하십시오.
1 git 1.7 ★git stash
--include-untracked
)-u
추적되지 않은 파일을 저장에 포함하려면 다음 명령 중 하나를 사용합니다.
git stash --include-untracked
# or
git stash -u
경고, 이렇게 하면 gitignore 파일에 디렉토리/엔트리가 있는 경우 파일이 영구적으로 삭제됩니다.*
파일을 인덱스에 추가합니다.
git add path/to/untracked-file
git stash
인덱스의 전체 내용과 기존 파일에 대한 변경되지 않은 변경 내용이 모두 저장소로 만들어집니다.
git bash에서는 명령어를 사용하여 추적되지 않은 파일을 저장할 수 있습니다.
git stash --include-untracked
# or
git stash -u
http://git-scm.com/docs/git-stash
gitstash는 추적되지 않은 파일 또는 커밋되지 않은 파일을 워크스페이스에서 삭제합니다.그리고 다음 명령을 사용하여 git stash를 되돌릴 수 있습니다.
git stash pop
그러면 파일이 로컬 작업 영역에 다시 저장됩니다.
나의 경험
.classpath 및 .project 파일이 리모트 repo로 이동하는 것을 피하기 위해 gitIgnore 파일을 수정해야 했습니다.이 수정된 .gitIgnore는 현재 리모트 repo로 이동할 수 없습니다.
.classpath 및 .project 파일은 이클립스(Java Editor)에서 중요합니다.
우선 나머지 파일을 선택적으로 추가하고 스테이징을 위해 커밋했습니다.그러나 수정된 .gitIgnore 파일 및 추적되지 않은 파일 viz. .project 및 .classpath가 저장되지 않으면 최종 푸시를 수행할 수 없습니다.
나는 사용했다
git stash
.gitIgnore 파일을 저장합니다.
.classpath와 .project 파일을 저장하기 위해
git stash --include-untracked
작업 공간에서 파일을 삭제했어요이러한 파일이 없으면 일식이 있을 때 작업 위치에서 작업할 수 없게 됩니다.커밋된 파일을 리모트로 푸시하는 절차를 완료했습니다.일단 이 일이 성공적으로 끝나면, 저는
git stash pop
같은 파일을 작업 공간에 다시 붙여 넣었습니다.이것은 나에게 일식 때 같은 프로젝트를 할 수 있는 능력을 돌려주었다.이것으로 오해가 사라졌으면 좋겠다.
git 버전 2.8.1에서는 다음과 같은 것이 좋습니다.
수정 및 추적되지 않은 파일을 이름 없이 저장하려면 다음과 같이 하십시오.
git stash save -u
이름을 사용하여 수정 및 추적되지 않은 파일을 저장하려면 다음과 같이 하십시오.
git stash save -u <name_of_stash>
다음과 같이 pop 또는 apply를 사용할 수 있습니다.
git stash pop
git stash apply stash@{0}
곳에서 처럼, 은 ''입니다.git add
★★★★★★★★★★★★★★★★:
git add path/to/untracked-file
git stash
그러나 다른 답변에서도 의문이 제기되고 있습니다.파일을 정말 추가하지 않으려면 어떻게 해야 합니까?음, 내가 아는 한, 넌 그래야 해.다음 기능은 작동하지 않습니다.
git add -N path/to/untracked/file # note: -N is short for --intent-to-add
git stash
이것은 다음과 같이 실패합니다.
path/to/untracked-file: not added yet
fatal: git-write-tree: error building trees
Cannot save the current index state
그래, 뭘 할 수 있지?실제로 파일을 추가해야 합니다.다만, 나중에 실제로 파일을 추가해제할 수 있습니다.git rm --cached
:
git add path/to/untracked-file
git stash save "don't forget to un-add path/to/untracked-file" # stash w/reminder
# do some other work
git stash list
# shows:
# stash@{0}: On master: don't forget to un-add path/to/untracked-file
git stash pop # or apply instead of pop, to keep the stash available
git rm --cached path/to/untracked-file
계속, , , 하다, 하다, 하다, 하다, 같은 을 계속 할 수 .git add
( 않은 (트래킹되지 않은 파일)이 path/to/untracked-file
( )를 참조해당신의 이름을 입력합니다.
이에 대한 워크플로우의 또 다른 가능성은 다음과 같습니다.
git ls-files -o > files-to-untrack
git add `cat files-to-untrack` # note: files-to-untrack will be listed, itself!
git stash
# do some work
git stash pop
git rm --cached `cat files-to-untrack`
rm files-to-untrack
[ @ [@mancocapac]를 할 수 있습니다.--exclude-standard
git ls-files
그래서, 「」, 「」, 「」,git ls-files -o --exclude-standard
] ] ]
...스크립트 작성도 간단합니다.에일리어스도 가능합니다(zsh 구문으로 표시, 필요에 따라 조정).[또한 이 답변에 스크롤하지 않고 모든 것이 화면에 맞도록 파일 이름을 줄였습니다.선택한 대체 파일명으로 대체해도 상관없습니다]
alias stashall='git ls-files -o > .gftu; git add `cat .gftu`; git stash'
alias unstashall='git stash pop; git rm --cached `cat .gftu`; rm .gftu'
는 셸 또는 수 해 주십시오.가 에 될 수 있습니다.git stash
당신이 않는pop
apply
또는 단순히 상위 저장소가 아닌 특정 저장소를 지정할 수 있어야 합니다.아마도 (위의 두 번째 별칭 대신) [스크롤하지 않고 공간에 맞게 제거, 읽기 쉽게 다시 추가]:
function unstashall(){git stash "${@:-pop}";git rm --cached `cat .gftu`;rm .gftu}
메모를 들어 stash 식별자는 action 입니다.unstashall apply stash@{1}
★★★★★★★★★★★★★★★★★」unstashall pop stash@{1}
.zshrc
장기간에 걸쳐 존재하는 것과 동등합니다.
이 답변이 누군가에게 도움이 되길 바랍니다. 모든 것을 하나의 답변으로 정리할 수 있습니다.
2020년 최신 답변
는 이 이 언급되지 않은 .git stash push
.
" " "
git stash
의 줄임말이다git stash push
이 모드에서는 철자가 틀린 서브 명령어가 불필요한 저장 엔트리를 작성하는 것을 방지하기 위해 non-option 인수를 사용할 수 없습니다. 에는 또 .git stash save
에 유리하게 추천되지 않는다.git stash push
.기본적으로 git은 저장 시 추적되지 않은 파일을 무시합니다.에 추가할 가 있는 는, 「」를 사용할 수 .
-u
추적되지 않은 파일을 포함하도록 git에 지시하는 옵션입니다.은 ignored 파일도 할 수 .-a
옵션이 지정됩니다.-a
추적되지 않은 파일과 무시된 파일이 모두 포함됩니다.
stash의 이름을 붙이는 것에 관심이 있어 추적되지 않은 파일을 포함시키고 싶기 때문에 가장 일반적으로 실행하는 명령어는 다음과 같습니다. git stash push -u -m "whatIWantToNameThisStash"
버전 2.35의 신기능
git stash의 새로운 --display 모드를 사용하면 스테이징 영역에 이미 있는 것을 쉽게 저장할 수 있습니다.git commit(단계적 변경만 쓰는 것)이라고 생각하시면 됩니다만, 새로운 커밋을 작성하는 대신 새로운 엔트리를 stash에 씁니다.그런 다음 준비가 되면 (git stash pop으로) 변경을 복구하고 작업을 계속할 수 있습니다.
git add -A
git stash --staged
다음 작업을 수행하여 추적되지 않은 파일만 저장할 수 있었습니다.
git stash save "tracked files I'm working on"
git stash save -u "untracked files I'm trying to stash"
git stash pop stash@{1}
마지막 파일은 추적된 파일의 저장 파일을 팝하고 추적되지 않은 파일만 보관됩니다.
스태싱은 VS 2019 이상 버전에서 사용할 수 있습니다.
- 으로 이동 Git go경 go go go go go go go go go go go
Ctrl + Alt + F7
- , 그럼 이 근처에 있는 .
Commit All
★★★★★★★★★★★★★★★★★」Commit staged
을 눌러 합니다.
「」와 같이, 되지 않은 .Git ignored files
★★★★★★★★★★★★★★★★★」Files which are not included into project
후 this (이 옵션)을 선택합니다.
Visual studio에서 Git stash를 완전히 사용하려면 다음 답변을 읽어보십시오. https://stackoverflow.com/a/69905607/4391394
되지 않은 파일을 를 들어 커밋하려는을 에는 "" (": "")을 합니다.-k
index) (keep index) 옵션-u
git stash -u -k
새로운 추적되지 않은 파일이 "syslog.json"이라고 가정합니다.앱 상태를 저장하여 브랜치를 변경하려면 일반적으로 다음과 같이 입력합니다.
git add views.json
그 후, 다음과 같이 입력합니다.
git stash
그리고 그것은 숨겨져 있을 것이다.그럼 지점만 바꾸면 되겠네요
git checkout other-nice-branch
추적되지 않은 파일을 어떻게 저장합니까?
git stash --include-untracked
아래 명령어를 사용하면 간단하게 실행할 수 있습니다.
git stash save --include-untracked
또는
git stash save -u
git stash에 대한 자세한 내용은 이 게시물을 참조하십시오(여기를 클릭).
것이 를 호출하면 할 수 했습니다.git stash
Araqnid는 전자의 방법을 설명합니다.
git add --intent-to-add path/to/untracked-file
또는
git update-index --add --cacheinfo 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 path/to/untracked-file
그러나 후자는 작동하지 않습니다.
$ git stash
b.rb: not added yet
fatal: git-write-tree: error building trees
Cannot save the current index state
여기 몇 가지 정답이 있습니다. 하지만 제가 지적하고 싶은 것은 새로운 전체 디렉토리의 경우,'git add path'
동작하지 않습니다.따라서 추적되지 않은 경로에 여러 개의 새 파일이 있는 경우 다음과 같이 하십시오.
git add untracked-path
git stash "temp stash"
다음 메시지와 함께 저장됩니다.
Saved working directory and index state On master: temp stash
warning: unable to rmdir untracked-path: Directory not empty
untracked-path가 유일한 경로일 경우 stash "slash stash"는 빈 stash가 됩니다.올바른 방법은 디렉터리 이름뿐만 아니라 전체 경로(즉, 경로 끝에 '/')를 추가하는 것입니다.
git add untracked-path/
git stash "temp stash"
Sourcetree를 새로 만든 파일과 함께 사용하다가 비슷한 문제가 발생했습니다(스태시에도 포함되어 있지 않습니다).
처음에 'stage all'을 선택한 후 새로 추가된 컴포넌트를 추적한 위치에 저장하여 저장에 포함시켰습니다.
나는 같은 특징을 고민하고 갈망하곤 했다.하지만 시간이 흐르면서 그게 정말 필요하지 않다는 걸 깨달았어요.저장할 때는 새 파일을 남겨두어도 됩니다.그들에게 '나쁜' 일은 일어나지 않는다(다른 것을 체크 아웃 할 때 git은 에러를 일으켜 기존의 추적되지 않은 파일을 덮어쓰지 않는다).
그 사이의 때문에git stash
및git stash pop
상당히 작기 때문에 추적되지 않은 파일이 다시 필요할 것입니다.그래서 나는 그 파일이 에 나타나는 불편함을 말하고 싶다.git status
때git stash
및git stash pop
에 의한 합니다.그렇지 않으면 되지 않은 는 작업에 의한 불편함보다 작고, 그렇지 않으면 추적되지 않은 파일을 저장고에 추가하려고 할 때 주의가 필요합니다.
언급URL : https://stackoverflow.com/questions/835501/how-do-you-stash-an-untracked-file
'programing' 카테고리의 다른 글
iPhone - 전체 UI에서 UIView 위치 가져오기 (0) | 2023.04.17 |
---|---|
문자열에 C++ 문자열이 포함되어 있는지 확인합니다. (0) | 2023.04.17 |
Swift 2.0 - 2진수 연산자 "|"를 2개의 UIUser Notification에 적용할 수 없습니다.피연산자 (0) | 2023.04.12 |
다른 서브에서 Excel VBA를 호출하는 여러 입력, 다양한 크기의 출력 (0) | 2023.04.12 |
16진수 색상 값 사용 방법 (0) | 2023.04.12 |