자식 숨김을 공유하려면 어떻게해야합니까?


32

자식에 숨김을 공유하는 방법이 있습니까?

여러 컴퓨터에서 작업하고 있으며 현재 작업 상태를 다른 곳으로 옮길 수 있기를 원합니다.

한 복제본에서 다른 복제본으로 숨김을 푸시 / 풀링하여 다른 복제본의 숨김으로 표시하거나 명백한 원격 분기로 표시 할 수있는 방법을 찾고 있습니다. 나는 리모컨에 이미 자체가 숨겨져 있다면 전자가 반드시 작동 할 것이라고 기대하지는 않습니다.

실제로 숨김은 이미 커밋이있는 지점 인 것 같습니다 (명백하게). "각 숨김을 지점에 커밋 한 다음 공유"라는 줄을 따라 솔루션을 찾고 있지 않습니다. 이미 많은 것을 얻었습니다. 많은 지점. 그래서 저는 찾고 있어요 refspec 또는 내가 당겨 / 푸시를 제어하는 데 사용할 수있는 유사합니다.

답변:


26

숨김은 just stash또는입니다 refs/stash. 원격 분기로 푸시 할 수 있습니다.

git push origin stash@{2}:refs/heads/otherstash

refs/stash그러나 Git은로 직접 푸시를 거부 합니다. 또한 이전 스 태시 가 저장되는 전체 reflog 를 푸시하는 방법이없는 것 같습니다 .


6
git push origin $(for sha in $(git rev-list -g stash); do echo $sha:refs/heads/stash_$sha; done)모든 숨김에 대해 잘 수행해야합니다. 참조 stackoverflow.com/a/5248758/85371
sehe

11

그것은 잘 통합되지는 git push않았지만 브랜치를 만들지 않기 위해 git stash show -p > change.patch(변경 사항을 저장 한 후) 사용하거나 다음 작업에서 다음 git diff --cached > change.patch패치를 적용 할 때도 사용합니다 git apply change.patch.

이 솔루션을 사용하면 최소한 현재 작업 상태에서 많은 파일이 변경되면 모든 것이 단일 데이터 단위에 포함됩니다.


예 .. 그러나 어떻게? git stash -p는 모든 덩어리에 대해 대화식으로 만 묻습니다. 그런 다음 이해하지 못하는 긴 줄을 뱉습니다. 그 "패치"는 어디에서 다른 기계로 가져갈 수 있습니까? 그리고 git diff는 무엇입니까? 그리고 git apply를 어떻게 사용합니까? 좀 더 자세히 설명해 주시겠습니까?
Motti Shneor

나는 답변을 자세하게 수정했다
Neo

4

패치를 만들어 다른 사람에게 보낼 수 있습니다. 그들이해야 할 일은 그것을 적용하는 것입니다.

git diff >> file.diff

3
이것은 diff를 생성하는 객체에서만 작동합니다. 출력에서 "이진 파일이 다르다"는 것을주의하십시오.
Liam
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.