git stash pop과 git stash 적용의 차이점
나는 git stash pop
꽤 오랫동안 사용 하고 있습니다. 최근에 git stash apply
명령 에 대해 알게되었습니다 . 내가 그것을 시도했을 때, 그것은 git stash pop
.
git stash pop
과 의 차이점은 무엇입니까 git stash apply
?
git stash pop
적용한 후에는 (기본적으로 맨 위에있는) 숨김을 버리고 나중에 재사용 할 수 있도록 git stash apply
숨김 목록 에 남겨 둡니다 (또는 나중에 사용할 수 git stash drop
있음).
이는 뒤에 충돌이 발생하지 않는 한 발생 git stash pop
하며,이 경우 숨김을 제거하지 않고 git stash apply
.
그것을 보는 또 다른 방법 git stash pop
은 git stash apply && git stash drop
입니다.
John Zwinck이 말했듯이 차이점과 Git 숨김 팝의 단점을 설명하는 유용한 링크가 있습니다.
예를 들어, 숨김 변경 사항이 처음 숨김을 만든 이후에 변경 한 다른 변경 사항과 충돌한다고 가정 해 보겠습니다. pop과 apply는 모두 병합 충돌 해결 모드를 트리거하여 이러한 충돌을 멋지게 해결할 수 있도록합니다. 그리고 어느 쪽도 팝업을 예상하고 있더라도 숨김을 제거하지 않습니다. 많은 사람들이 스 태쉬가 단순한 스택 일 것으로 기대하기 때문에, 종종 사라 졌다고 생각했기 때문에 나중에 우연히 동일한 스 태쉬를 터뜨리게됩니다.
링크 http://codingkilledthecat.wordpress.com/2012/04/27/git-stash-pop-considered-harmful/
git stash pop
맨 위에 숨겨진 요소를 적용하고 스택에서 제거합니다. git stash apply
동일하지만 숨김 스택에 남겨 둡니다.
그것을 실제로 보는 것은 그 차이를 더 잘 이해하는 데 도움이 될 수 있습니다.
master
브랜치에서 작업 hello.txt
하고 "Hello"문자열을 포함 하는 파일 이 있다고 가정 합니다.
파일을 수정하고 "world"문자열을 추가해 보겠습니다. 이제 방금 발견 한 사소한 버그를 수정하기 위해 다른 분기로 이동하려고하므로 stash
변경 해야합니다 .
git stash
다른 브랜치로 이동하고 버그를 수정했으며 이제 master
브랜치 작업을 계속할 준비가되었습니다 pop
.
git stash pop
이제 숨김 콘텐츠를 검토하려고하면 다음을 얻을 수 있습니다.
$ git stash show -p
No stash found.
그러나 git stash apply
대신 사용 하면 숨겨진 콘텐츠를 얻을 수 있지만 보관할 수도 있습니다.
$ git stash show -p
diff --git a/hello.txt b/hello.txt
index e965047..802992c 100644
--- a/hello.txt
+++ b/hello.txt
@@ -1 +1 @@
-Hello
+Hello world
그래서 pop
단지 스택의 팝업처럼 - 그것은 사실이 튀어 된 후에는 요소를 제거하면서 apply
더처럼 슬쩍 .
Git Stash Pop vs apply
작동
현재 단계가 아닌 변경 사항에 상위 숨김 변경 사항을 적용하고 해당 숨김도 삭제하려면 git stash pop
.
# apply the top stashed changes and delete it from git stash area.
git stash pop
그러나 상위 숨김 변경 사항을 삭제하지 않고 현재 비 단계 변경 사항에 적용하려면 git stash apply
.
참고 :이 경우를
Stack
클래스pop()
및peek()
메서드 와 연결할 수 있습니다 . 여기서 pop은 감소 (top = top-1)만큼 상단을 변경하지만peek()
상단 요소 만 가져올 수 있습니다.
in git
stash 는 현재 변경된 파일을 이동할 수있는 저장 영역입니다.
stash
area는 git
저장소 에서 일부 변경 사항을 가져 오고 저장소에서 사용할 수있는 일부 상호 파일의 일부 변경 사항을 감지 할 때 유용합니다 git
.
git stash apply //apply the changes without removing stored files from stash area.
git stash pop // apply the changes as well as remove stored files from stash area.
참고 :-
git apply
적용하는 동안 숨김 영역의 변경 사항 만 적용하고 영역에서 변경 사항을git pop
제거하십시오stash
.
참고 URL : https://stackoverflow.com/questions/15286075/difference-between-git-stash-pop-and-git-stash-apply
'your programing' 카테고리의 다른 글
자바 : 정적 메서드를 사용하는 경우 (0) | 2020.09.28 |
---|---|
TSQL을 사용하여 데이터베이스의 모든 테이블 목록을 얻으려면 어떻게해야합니까? (0) | 2020.09.28 |
Python Pandas의 기존 DataFrame에 새 열 추가 (0) | 2020.09.28 |
jQuery에서 이벤트 핸들러를 제거하는 가장 좋은 방법은 무엇입니까? (0) | 2020.09.27 |
고정 헤더에 맞게 조정하기 위해 html 앵커 오프셋 (0) | 2020.09.27 |