Programing

숨김을 다른 컴퓨터로 내보내기

lottogame 2020. 3. 26. 08:20
반응형

숨김을 다른 컴퓨터로 내보내기


숨김 변경 사항을 다른 컴퓨터로 내보내는 방법이 필요합니다.

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

반응형