IT TIP

Git에서 다른 컴퓨터의 저장소에서 어떻게 가져 옵니까?

itqueen 2020. 10. 18. 19:52
반응형

Git에서 다른 컴퓨터의 저장소에서 어떻게 가져 옵니까?


예를 들어 두 대의 컴퓨터에서 원본 저장소를 복제했습니다. 그런 다음 계속해서 변경하고 컴퓨터 A의 로컬 저장소에 커밋합니다. 이제 이러한 변경 사항을 컴퓨터 B로 가져 오려면 어떻게해야합니까? 컴퓨터 A와 B가 모두 네트워크에 연결되어 있습니다.

내가 찾고있는 것은 누군가가 수동으로 패치를 만들어서 나에게 보내는 것과 같을 것이며, 내 작업 복사본 / 로컬 저장소에 적용 할 수 있습니다.


가져 오려는 머신이를 통해 액세스 ssh할 수있는 경우 저장소를 ssh를 통해 원격으로 추가 한 다음 원격에서와 같이 가져올 수 있습니다.

$ git remote add repo_b username@host:path/to/repository.git
$ git pull repo_b master

(원격을 추가하는 단계를 건너 뛰고 git pull원격 이름 대신 명령에 전체 URL을 지정할 수 있지만, 정기적으로 저장소에서 가져 오려는 경우 원격으로 추가하면 많은 타이핑.)


보세요 git pull --help

이것은 다음과 같은 것을 줄 것입니다. git pull /my/other/repository


git daemon으로 실제 서버를 설정할 수 있습니다 . 그렇지 않으면 git bundle을 사용할 수 있습니다. git 의 내부 표현을 git pull다른 쪽 끝에서 번들 해제 할 수있는 파일로 묶습니다 .

예를 들어 git 문서에서 모든 것을 번들로 묶습니다.

git bundle create file.bundle master

그런 다음 다른 쪽 끝에서 다음과 같이 할 수 있습니다.

git pull file.bundle HEAD

ssh로 컴퓨터 B에 연결할 수있는 경우 다음을 사용할 수 있습니다.

git clone user@host:/path/to/repo

이 ssh 연결을 통해 원격 추적을 활성화하고 git pull / push를 사용할 수 있습니다.


다른 컴퓨터가있는 로컬 저장소에서 저에게 효과적이었습니다.

git remote add origin_username username@10.0.0.2:/home/username/dev/project/main/.git/

git pull origin_username master

또는

git pull origin_username some_branch

나는 생각해 냈다

git clone /path/to/local/repository

너무 늦었지만 가치가 있고 Antoine Pelisse 답변을 확장 하기 위해 구성에 원격추가하지 않고도 동일한 저장소가있는 ssh 호스트에서 몇 가지 커밋이 더 있습니다.

git pull user@host:/path/to/repo  # while in the local repo folder

명확하게 말하면, 이것의 가능한 용도 중 하나는 원격 에서 동일한 저장소를 복제 한 두 개의 호스트 (A 및 B)가 있고 호스트 A에서 일부 변경 사항을 커밋하고 원격 으로 푸시하지 않으려는 경우입니다. (아직), 대신 호스트 B에서 해당 커밋을 가져오고 싶습니다. 위의 명령은 remote로 푸시하지 않고 저장소를 동기화합니다 .

참고 URL : https://stackoverflow.com/questions/4131164/how-do-i-pull-from-another-computers-repository-in-git

반응형