ฉันควรแยกไฟล์ประเภทใดจากที่เก็บแหล่งควบคุมเกมของฉัน


11

ฉันเริ่มทำงานในโครงการส่วนบุคคลโดยใช้ Unity กับเพื่อนและเราได้ตั้งค่าระบบควบคุมแหล่งที่มาของเราเอง

ฉันตระหนักถึงความจริงที่ว่ามีไฟล์หลายประเภทคือไฟล์ที่สร้างขึ้นในเครื่องเมื่อคุณสร้าง (ตัวอย่างเช่นไฟล์ Visual Studio) และไฟล์ที่เฉพาะเจาะจงสำหรับเครื่องเฉพาะของคุณที่ไม่ควรเพิ่มลงในแหล่งควบคุม แต่ ฉันไม่แน่ใจว่าประเภทไฟล์เหล่านี้คืออะไร

ฉันไม่ต้องการยกเว้นไฟล์ที่สร้างขึ้นใด ๆ ที่ฉันควรจะรวมไว้เช่นไฟล์. meta

ใครบางคนสามารถแสดงรายการไฟล์ทั้งหมดหรืออย่างน้อยชนิดไฟล์ทั่วไปทั้งหมดที่ไม่ควรเพิ่มในการควบคุมเวอร์ชันโดยเฉพาะสำหรับโครงการ Unity

คำตอบ:


9

ด้วย Unity รุ่นปัจจุบันเพียงเช็คอินอะไรก็ได้ในโฟลเดอร์ทรัพย์สินและโฟลเดอร์ ProjectSettings อย่าเช็คอินใด ๆ ภายใต้ Library หรือที่ระดับบนสุด


8

การอ้างอิงที่ดีสำหรับชนิดของรายการนี้คือGitHub ของแม่ รายการความสามัคคีเฉพาะคือที่นี่

และถ้าคุณรู้สึกว่ามีบางอย่างขาดหายไปให้ดึงคำขอ!


5

ประเภทไฟล์มีความสำคัญน้อยกว่าที่วัตถุประสงค์และที่มาของไฟล์ อย่างที่คุณพูดสิ่งที่สามารถสร้างขึ้นได้จากไฟล์ต้นฉบับภายใต้การควบคุมเวอร์ชัน (ปกติ) จะไม่มีธุรกิจที่รวมอยู่ในที่เก็บ

สิ่งใดก็ตามที่ผู้ใช้เฉพาะเช่นการตั้งค่าหรือไฟล์การกำหนดค่าควรถูกแยกออก

ยิ่งไปกว่านั้นมันขึ้นอยู่กับคุณและโครงการของคุณ


2
ฉันคิดว่าสิ่งที่ฉันขอจริง ๆ คือรายการสั้น ๆ ของไฟล์ที่อยู่ในโครงการสามัคคีมาตรฐานคือไฟล์ที่สร้างขึ้นหรือเป็นของผู้ใช้เฉพาะ นอกเหนือจากไฟล์ที่ฉันสร้างขึ้นด้วยตัวเองฉันก็ค่อนข้างงมงายว่าจะทำอะไรและมาจากที่ไหน
SirYakalot

ฉันเห็น. ฉันแก้ไขคำถามของคุณเพื่อชี้แจงว่าเนื่องจากบิต Unity ถูกลบออกตามเวลาที่ฉันเห็น (หรือฉันเพิ่งพลาด)

3

คุณสามารถดูโครงการ Unity ของฉันRadiusบน GitHub เป็นตัวอย่าง หรือเช็คเอาต์Unity.gitignoreไฟล์ใน GitHub repo อย่างเป็นทางการของ GitHub

นอกจากนี้ยังมีคำแนะนำที่ดีโดย Damien Mayance ในเว็บไซต์ของเขาเกี่ยวกับโครงการ Git และ Unity

ตรวจสอบให้แน่ใจว่าคุณเช็คอิน.metaไฟล์ของคุณเพราะนี่คือสิ่งที่ Unity ใช้เพื่ออ้างอิงเนื้อหาแต่ละรายการ คุณสามารถทำให้พวกเขาไม่ได้ซ่อนอยู่ในระบบปฏิบัติการของคุณได้โดยไปที่Edit->Project Settings->Editorและการเปลี่ยนแปลงไปVersion ControlVisible Meta Files

หากคุณกำลังจัดเก็บโครงการความสามัคคีของคุณในโฟลเดอร์ที่เรียกว่าUnityProjectNameนี่คือสิ่งที่. gitignore ของคุณควรมีลักษณะ หากคุณมีโฟลเดอร์โครงการ Unity ในฐานะรูทของ GitHub repo เพียงลบออกUnityProjectName/จากแต่ละพา ธ ด้านล่าง

.gitignore

# Ignore unneeded Unity files
# --------------------------------------------------
UnityProjectName/Temp/
UnityProjectName/obj/
UnityProjectName/Library/

UnityProjectName/*.csproj
UnityProjectName/*.unityproj
UnityProjectName/*.sln

# Ignore Custom Builds
# --------------------------------------------------
UnityProjectName/[Bb]uilds/

1

ฉันไม่รู้เรื่องเอกภาพ แต่คุณพูดถึง visual studio โดยปกติคุณสามารถยกเว้นโฟลเดอร์ bin และ obj ในโฟลเดอร์โครงการ (ในบางประเภทโครงการโฟลเดอร์ bin จะเก็บแอสเซมบลีจากโครงการที่รวมไว้ด้วย แต่ฉันคิดว่านี่จะใช้กับโครงการเว็บบางประเภทเท่านั้น)

และอย่าเช็คอินไฟล์ " .csproj.user" และ " .suo" ทั้งสองประเภทมีการตั้งค่าผู้ใช้ หากคุณตรวจสอบสิ่งเหล่านั้นการตั้งค่าผู้ใช้ทั้งหมดจะปรากฏบนเครื่องอื่นเมื่อคุณอัปเดตแหล่งข้อมูล สิ่งนี้ค่อนข้างน่ารำคาญเนื่องจากการตั้งค่าเหล่านั้นไม่ได้สร้างหรือโครงการที่เกี่ยวข้อง แต่เพิ่มเติมเพื่อกำหนดค่า UI, โปรแกรมแก้ไข ฯลฯ สำหรับนักพัฒนาแต่ละคนที่ต้องการ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.