ฉันมีที่เก็บสองแห่งและฉันจำเป็นต้องคัดลอกที่เก็บทั้งหมดไปยังอีกที่ว่างซึ่งมีระดับการเข้าถึงที่แตกต่างจากที่เก็บแรก ไม่ควรลิงก์สำเนาและที่เก็บแม่เข้าด้วยกัน
ฉันยังใหม่กับคอมไพล์และคงจะดีมากถ้ามีคนช่วยฉันเรื่องนี้
ฉันมีที่เก็บสองแห่งและฉันจำเป็นต้องคัดลอกที่เก็บทั้งหมดไปยังอีกที่ว่างซึ่งมีระดับการเข้าถึงที่แตกต่างจากที่เก็บแรก ไม่ควรลิงก์สำเนาและที่เก็บแม่เข้าด้วยกัน
ฉันยังใหม่กับคอมไพล์และคงจะดีมากถ้ามีคนช่วยฉันเรื่องนี้
คำตอบ:
ดูhttps://help.github.com/articles/duplicating-a-repository
เวอร์ชั่นสั้น:
ในการสร้างสำเนาที่แน่นอนคุณต้องดำเนินการทั้งแบบ bare-clone และ mirror-push:
mkdir foo; cd foo
# move to a scratch dir
git clone --bare https://github.com/exampleuser/old-repository.git
# Make a bare clone of the repository
cd old-repository.git
git push --mirror https://github.com/exampleuser/new-repository.git
# Mirror-push to the new repository
cd ..
rm -rf old-repository.git
# Remove our temporary local repository
หมายเหตุ: ข้างต้นจะทำงานได้ดีกับ repo git ระยะไกลคำแนะนำไม่เฉพาะเจาะจงสำหรับ github
ข้างต้นสร้างสำเนาระยะไกลใหม่ของ repo จากนั้นโคลนลงในเครื่องที่ใช้งาน
Jeremy.git
เป็นอีกอันJeremy.git
นอกจากนี้คุณยังสามารถใช้คอมไพล์สำเนา
ติดตั้งด้วยอัญมณี
gem install git-copy
แล้วก็
git copy https://github.com/exampleuser/old-repository.git \
https://github.com/exampleuser/new-repository.git
sudo apt install ruby
ทำ
หากคุณกำลังคัดลอกไปยัง GitHub คุณสามารถใช้GitHub Importerเพื่อดำเนินการดังกล่าวให้กับคุณ repo ดั้งเดิมอาจมาจากระบบควบคุมเวอร์ชันอื่น ๆ
หากคุณแค่ต้องการสร้างที่เก็บใหม่โดยใช้ไฟล์ทั้งหมดหรือเกือบทั้งหมดจากไฟล์ที่มีอยู่ (เช่นเป็นเทมเพลตประเภทหนึ่ง) ฉันพบว่าวิธีที่ง่ายที่สุดคือการสร้าง repo ใหม่ด้วยชื่อที่ต้องการเป็นต้นโคลนเป็น เดสก์ท็อปของคุณจากนั้นเพิ่มไฟล์และโฟลเดอร์ที่คุณต้องการลงไป
คุณไม่ได้รับประวัติทั้งหมด ฯลฯ แต่คุณอาจไม่ต้องการสิ่งนั้นในกรณีนี้
เปิด Terminal
สร้างโคลนเปล่าของที่เก็บ
git clone --bare https://github.com/exampleuser/old-repository.git
Mirror-push to the new repository.
cd old-repository.git
git push --mirror https://github.com/exampleuser/new-repository.git