บทความนี้ครอบคลุมเนื้อหานี้ค่อนข้างดี:
https://github.com/rrrene/gitscm-next/blob/master/app/views/blog/progit/2010-04-11-environment.markdown
โดยทั่วไปหากคุณกำลังทำงานจากบรรทัดคำสั่งสิ่งนี้จะง่ายกว่าที่คุณคาดเดา สมมติว่าคุณต้องการ 2 git repos:
.gitone
.gittwo
คุณสามารถตั้งค่าได้ดังนี้:
git init .
mv .git .gitone
git init .
mv .git .gittwo
คุณสามารถเพิ่มไฟล์และคอมมิตเป็นไฟล์เดียวได้ดังนี้:
git --git-dir=.gitone add test.txt
git --git-dir=.gitone commit -m "Test"
ดังนั้นตัวเลือกสำหรับ git จึงมาก่อนคำสั่งจากนั้นจึงเลือกตัวเลือกของคำสั่ง git คุณสามารถใช้นามแฝงคำสั่ง git ได้มากพอเช่น:
#!/bin/sh
alias gitone='git --git-dir=.gitone'
alias gittwo='git --git-dir=.gittwo'
ดังนั้นคุณสามารถยอมรับอย่างใดอย่างหนึ่งด้วยการพิมพ์น้อยลงเล็กน้อยเช่น gitone commit -m "blah"
ที่มีน้อยน้อยกว่าการพิมพ์เช่น
สิ่งที่ดูเหมือนจะยุ่งยากกว่าคือละเว้น เนื่องจากโดยปกติ. gitignore จะอยู่ในรูทของโปรเจ็กต์คุณจึงต้องหาวิธีเปลี่ยนสิ่งนี้ด้วยโดยไม่ต้องเปลี่ยนรูททั้งหมด หรือคุณสามารถใช้. git / info / exclude แต่การเพิกเฉยทั้งหมดที่คุณทำจะไม่ถูกผูกมัดหรือผลักดันซึ่งอาจทำให้ผู้ใช้รายอื่นเสียหายได้ ผู้อื่นที่ใช้ repo อย่างใดอย่างหนึ่งอาจผลักดัน. gitignore ซึ่งอาจทำให้เกิดความขัดแย้ง ยังไม่ชัดเจนสำหรับฉันวิธีที่ดีที่สุดในการแก้ไขปัญหาเหล่านี้
หากคุณชอบเครื่องมือ GUI เช่น TortoiseGit คุณก็มีความท้าทายเช่นกัน คุณสามารถเขียนสคริปต์ขนาดเล็กที่เปลี่ยนชื่อ. gitone หรือ. gittwo เป็น. git ชั่วคราวเพื่อให้เป็นไปตามสมมติฐานของเครื่องมือเหล่านี้
git subtree
จะได้งานทำ