카테고리 보관물: Git

Git

github의 git repo를 동일한 조직으로 복사 / 포크 배포 된

두 개의 다른 도메인에 배포 된 웹 응용 프로그램이 포함 된 github에 저장소가 있습니다. 응용 프로그램에는 배포 된 도메인에 따라 다르게 작동하는 약간의 논리 분기가 있습니다.

각 도메인에 대해 하나씩 두 개의 개별 저장소로 분할하려는 지점에 도달했습니다.

Github는 동일한 조직으로 포크하는 것을 허용하지 않습니다. “git duplicate repo”를 검색하면 복제하고 미러링하여 푸시해야한다고 제안하지만 두 저장소를 동기화 상태로 유지하기위한 것 같습니다.

이것에 대해 가장 좋은 방법은 무엇입니까? 가능한 경우 새 복사본에서 이전 커밋 기록을 유지하고 싶습니다.



답변

새 저장소를 만들고 작업 복사본에서 푸시하기 만하면됩니다.

git clone git@github.com:me/myrepo-original
cd myrepo-original
git remote set-url origin git@github.com:me/myrepo-new
git push origin master

이제와 myrepo-new동일한 새 저장소 가 생겼습니다 myrepo-original.


답변

fork 관계가 필요하지 않은 경우 (예 : 어떤 이유로 든 어떤 종류의 분리 된 대체 저장소를 원함) Google 검색 및 Larsk의 대답에 의해 개요로 저장소를 복제하는 것이 좋습니다.

당신이 경우 않는 그것을 포크, 연락처 Github에서 지원 (support@github.com 또는 만들고 싶어 https://github.com/support ), 그들은 당신을 위해 동일 조직의 포크를 생성합니다. (그들은 이것에 대해 까다 롭지 않습니다. 계정 내의 리포지토리 이름은 고유해야하므로 리포지토리의 대체 이름을 제공해야합니다.)


업데이트 : 사용자 Steve Rice는 GitHub 지원팀이 현재 / 더 이상 귀하의 계정에 두 번째 포크를 설정하지 않을 것이라고 말했습니다.

GitHub는 최근에 동일한 계정으로 리포지토리를 포크하는 대안에 대한 기사를 게시했습니다. 여기에서 해당 기사를 읽을 수 있습니다 .


답변

페이지 상단의 + 메뉴에서 Github의 Import Repository 옵션을 사용 하거나 열기 만하면됩니다.

https://github.com/new/import

이렇게하면 복사 된 저장소의 정확한 내용으로 새 저장소가 생성됩니다. 단점 ( Iarsks의 git 명령 응답 과 동일 )은 Github의 포크로 계산되지 않는다는 것입니다.


답변

또 다른 방법은 복사 할 원본 저장소를 현재 저장소에 대한 원격으로 추가하는 것입니다.

#create a new repo in the org1 organization called myrepo-new

로컬 터미널에서 다음을 실행하십시오.

git clone git@github.com:org1/myrepo-new
cd myrepo-new
git remote -v #shows current repo link on github as origin
git remote add name-for-remote https://github.com/org1/repo-old
git remote -v #shows repo-old as name-for-remote
git fetch  name-for-remote
git merge name-for-remote/branch-to-get-from-remote
#Now fix any conflicts if present
#If number of files/commits is very high, the desktop client may hang when you try to commit your changes after merge. Try switching to Git Shell if this happens.
git status
git commit -m "commit message"
git push origin master


답변

대체 솔루션 :

새 조직을 만들고 거기에 포크하십시오. 저장소가 비공개 인 경우 새 조직에서도 비공개로 유지됩니다. 그런 다음 외부 개발자 또는 분기 된 저장소에 원하는 사람에게 액세스 권한을 부여 할 수 있으며 PR을 원래 저장소로 되돌릴 수 있습니다.


답변

로컬 폴더를 복제하고 git 항목을 삭제할 수는 없습니다.

rm -rf .git*

그런 다음 해당 폴더에 새 저장소를 만드시겠습니까? 깨끗하고 쉽게 보입니다.


답변