숨김을 다른 컴퓨터로 내보내기
숨김 변경 사항을 다른 컴퓨터로 내보내는 방법이 필요합니다.
Computer1에서 내가 한
$ git stash save feature
숨김 패치를 파일로 가져 와서 다른 컴퓨터로 가져 오려고합니다.
$ git stash show -p > patch
이 명령은이 저장소가 복제 된 다른 컴퓨터로 이동할 수있는 파일을 제공하지만 문제는 다시 숨김 파일로 가져 오는 방법입니다.
감사
간단하게 실행하여 패치 파일을 적용 할 수 있습니다 (변경 사항을 아직 커밋하지 않고).
git apply patchfile
그런 다음 현재 작업 디렉토리에서 새 숨김을 만들 수 있습니다.
git stash
또는 다음을 사용하여 숨김 컴퓨터 (컴퓨터 1)에서 분기를 만들 수 있습니다.
git stash branch stashed_changes_branch
변경 사항을 커밋하십시오.
git commit -a
그런 다음 컴퓨터 2에서 원격으로 추가하십시오.
git remote add pc1 user@computer1:/path/to/repo
지금 당신은 사용하여 원격 정보를 검색 할 수 있습니다
git fetch pc1
이제 커밋을 원하는 방식으로 가져올 수 있습니다. 사용하여 자식 체리 - 선택 , 자식 REBASE 또는 같은 ... 당신이 방금 않았다처럼 보이게하려는 경우 당신이 무엇을 자식 숨긴 적용을 ; git cherry-pick --no-commit을 사용할 수 있습니다 .
computer1과 computer2를 직접 연결하지 않은 경우; 원격을 사용할 수 있습니다 (github 또는 이와 유사한 것) :
git push origin stashed_changes_branch
컴퓨터 2 :
git fetch
또는 다음과 같이 전체 로컬 스 태쉬를 다른 compter로 내보낼 수 있습니다
git pull
이전 및 새 git 디렉토리 모두에 최신 변경 사항이 있는지 확인하십시오.- 이전 git 디렉토리에서 새 저장소로 .git 폴더를 복사하십시오.
다른 옵션은 한 컴퓨터에서 다른 컴퓨터 로 rsync
의 .git
폴더입니다. rsync
파일 변경 만 처리합니다 (사본보다 빠름).
이 접근 방식의 한 가지 단점은 구성을 덮어 쓰는 것입니다. 두 시스템간에 서로 다른 .git 구성을 실행하는 경우 바람직하지 않을 수 있습니다. 그러나의 --exclude
옵션으로 파일을 제외하면이를 극복 할 수 rsync
있습니다.
전반적으로 네이티브 Git 솔루션이 더 깨끗하다고 생각하지만이 rsync
해킹은 git보다 rsync에 더 익숙한 서둘러 누군가에게 좋을 수 있습니다.
SourceTree에서 Stash를 내보내는 방법 :
1) Stash를 사용할 지점에서 새 지점 "StashTransfer"를 작성하십시오.
2) 스 태쉬를 적용하고 커밋하십시오.
3) 커밋을 클릭하고 패치를 작성하고 패치 파일을 가져 가십시오.
4) 다른 저장소로 이동하여 방금 사용한 것과 동일한 상위 브랜치를 선택하십시오. 1)
5) 작업 / 패치 적용, 모드 : 작업 복사본 파일 수정을 선택하고 패치 적용을 누르면 현재 작업 환경의 패치에서 커밋되지 않은 수정 사항이 있습니다.
6) 현재 리포지토리에 대해 새로운 Stash를 만듭니다.
승리!
원래 게시물의 시작 명령 :
git stash show -p stash@{x} > patch_file
나를 위해 작동하지 않았습니다 (어떤 이유로 사용할 수없는 패치 파일을 만들었습니다). 대신 나는해야했다 :
git stash apply stash@{x}
git commit
내가 숨기고 싶은 각각의 은신처마다. 그런 다음 '부모'저장소를 '자식'저장소의 file : /// 도달 범위 내에 배치하고 각 숨김 커밋에 대해 다음을 수행했습니다.
git fetch file:///path_to_parent_git && git cherry-pick commit_sha
git reset --soft HEAD^
git stash save my_new_stash_on_child
이것은 더 복잡하지만 나를 위해 속임수를 사용했습니다.
한 시스템에서 다른 시스템으로 변경 사항을 이동하려면 항상 시스템에서 변경 사항을 커밋 한 다음 해당 시스템에서 소프트 재설정을 수행하십시오.
사무실
git commit -m "-stash-"
부엌
git reset --soft HEAD~1
참고 URL : https://stackoverflow.com/questions/3973034/export-a-stash-to-another-computer
'Programing' 카테고리의 다른 글
Quasiquote에서 Shapeless를 사용하는 방법? (0) | 2020.03.26 |
---|---|
EditText 변경된 리스너에서 문자 계산 (0) | 2020.03.26 |
몽구스의“__v”필드는 무엇입니까 (0) | 2020.03.26 |
관계형 데이터베이스 디자인 패턴? (0) | 2020.03.26 |
node.js에 대한 사용자 인증 라이브러리? (0) | 2020.03.26 |