คำถามติดแท็ก version-control

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

1
เมื่อใดควรใช้ "งานบ้าน" เป็นประเภทของข้อความคอมมิต
การใช้คืออะไรchoreในการควบคุมเวอร์ชันความหมายกระทำข้อความ ? ประเภทอื่น ๆ เช่นfeatหรือfixชัดเจน แต่ฉันไม่รู้ว่าควรใช้ "งานบ้าน" เมื่อไหร่ ใครช่วยให้ตัวอย่างการใช้งานได้บ้าง? คำถามอื่นที่อาจไม่เกี่ยวข้อง: ข้อความประเภทใดที่เหมาะสมสำหรับการแก้ไขไฟล์เช่น.gitignore?

19
git: การอัปเดตถูกปฏิเสธเนื่องจากรีโมตมีงานที่คุณไม่มีในเครื่อง
ฉันกำลังทำงานเป็นทีมกับนักพัฒนาบางคนที่ใช้ git บน BitBucket เราทุกคนกำลังทำงานในdevสาขาไม่ได้ผลักดันไปmasterจนกว่าจะมีการเปิดตัว นักพัฒนารายหนึ่งระบุรหัสที่ไม่ถูกต้องซึ่งเขียนทับของฉันเองโดยบังเอิญและตอนนี้ฉันกำลังพยายามส่งรหัสที่ถูกต้องกลับไปที่ repo ฉันอ่านข้อผิดพลาดนี้มาสองสามวันแล้วฉันไม่สามารถส่งไปที่ repo ได้อีกต่อไปเพราะฉันได้รับข้อผิดพลาดต่อไปนี้: ! [rejected] master -> dev (fetch first) error: failed to push some refs to 'https://myusername@bitbucket.org/repo_user/repo_name.git' hint: Updates were rejected because the remote contains work that you do hint: not have locally. This is usually caused by another repository pushing hint: …

8
ฉันจะเปลี่ยนชื่อสาขา 'master' ของ Git เป็น 'release' ได้อย่างไร
เราต้องการบังคับใช้นโยบายใหม่สำหรับโครงการของเราที่ตอนนี้สาขาหลักถูกเรียกว่าสาขาเผยแพร่เพื่อให้แน่ใจว่าสาขานี้จะใช้งานได้ชัดเจนยิ่งขึ้น โดยธรรมชาติแล้วเราจะมีการพัฒนาและเผยแพร่สาขาผู้สมัครด้วยเช่นกัน ฉันเข้าใจว่าฉันสามารถเปลี่ยนชื่อสาขาหลักในเครื่องได้โดยใช้สิ่งต่อไปนี้: git branch -m master release อย่างไรก็ตามนั่นเป็นเพียงในพื้นที่เท่านั้น แม้ว่าฉันจะดันสิ่งนี้ไปที่รีโมต HEAD ก็ยังชี้ไปที่สาขาหลักระยะไกล ฉันต้องการกำจัดสาขาหลักอย่างสมบูรณ์และทำให้สาขาท้องถิ่นเริ่มต้นเมื่อโคลนเริ่มต้นปล่อย ฉันจะบรรลุเป้าหมายนี้ได้อย่างไร? ดูเหมือนว่าเนื่องจากต้นทางอยู่บนเซิร์ฟเวอร์Gitoriousฉันจึงได้รับข้อผิดพลาดในการลบสาขาหลัก ฉันกำลังพยายามดูว่าสามารถเปลี่ยนแปลงได้หรือไม่เพื่อให้สาขาเริ่มต้นคือ 'release'

3
ยอมรับการเปลี่ยนแปลงไปยังสาขาอื่นที่ไม่ใช่สาขาที่เช็คเอาต์ในปัจจุบันด้วยการโค่นล้ม
ฉันได้ทำการตรวจสอบโค้ดจากสายการพัฒนาและพบว่าการเปลี่ยนแปลงที่ทำอาจทำลายการเปลี่ยนแปลงและจำเป็นต้องย้ายไปยังสาขาทดลองก่อนที่จะยอมรับโครงสร้างการพัฒนาหลัก อย่างไรก็ตามฉันไม่ได้ตรวจสอบสาขาทดลองและฉันไม่ต้องการสูญเสียการเปลี่ยนแปลงที่ทำไปแล้ว มีวิธีที่จะยอมรับการเปลี่ยนแปลงในโฟลเดอร์การทำงานไปยังสาขาอื่นนอกเหนือจากที่เช็คเอาต์ไว้หรือไม่

2
การเพิ่ม Xcode Workspace Schemes ในการควบคุมเวอร์ชัน
ฉันต้องการแชร์ Workspace Schemes ที่ฉันสร้างขึ้นกับสมาชิกในทีมคนอื่น ๆ อย่างไรก็ตามทั้งหมดนี้ถูกเก็บไว้ใน. xcodeproj> xcuserdata> .xcuserdatad> xcschemes ฉันได้ตั้งค่าโฟลเดอร์ xcuserdata ให้ละเว้นใน SVN เนื่องจากฉันถือว่าข้อมูลทั้งหมดในโฟลเดอร์นั้นเป็นข้อมูลเฉพาะของผู้ใช้ มีวิธีแก้ปัญหานี้หรือไม่? กล่าวคือฉันไม่ต้องการให้โครงร่างเป็นผู้ใช้เฉพาะ หรือฉันควรตรวจสอบโฟลเดอร์ xcschemes ต่อไป และถ้าฉันทำเช่นนั้นผู้ใช้คนอื่นจะสามารถเห็นและใช้แผนของฉันได้หรือไม่

1
git remote prune - ไม่แสดงกิ่งก้านที่ถูกตัดออกมากเท่าที่ฉันคาดไว้
จากหน้าคน: Deletes all stale tracking branches under <name>. These stale branches have already been removed from the remote repository referenced by <name>, but are still locally available in "remotes/<name>". ดังนั้นฉันจึงเอากิ่งก้านออกโดยใช้ git push origin :staleStuff แล้วก็วิ่ง git remote prune origin อย่างไรก็ตามมีการตัดกิ่งในท้องถิ่นเพียงสาขาเดียว สาขาเหล่านี้บางแห่งสร้างขึ้นโดยฉันบางสาขาโดยเพื่อนร่วมงาน นี่แสดงว่าฉันไม่ได้ติดตามสาขาเหล่านั้นอย่างถูกต้องตั้งแต่แรกหรือไม่?

5
ฉันสามารถสร้างไฟล์ gitignore เฉพาะผู้ใช้ได้หรือไม่
ฉันต้องการเปลี่ยน gitignore แต่ไม่ใช่ทุกคนในทีมที่ต้องการการเปลี่ยนแปลงเหล่านี้ ผู้ใช้จะมีไฟล์ละเว้น git เฉพาะของตนเองได้อย่างไร

8
คุณจัดระเบียบที่เก็บการควบคุมเวอร์ชันของคุณอย่างไร
ก่อนอื่นฉันรู้เกี่ยวกับสิ่งนี้: คุณจะจัดระเบียบที่เก็บการโค่นล้มสำหรับโครงการซอฟต์แวร์ในบ้านได้อย่างไร ต่อไปคำถามจริง: ทีมของฉันกำลังปรับโครงสร้างที่เก็บของเราและฉันกำลังมองหาคำแนะนำในการจัดระเบียบ (SVN ในกรณีนี้) นี่คือสิ่งที่เราคิดขึ้นมา เรามีที่เก็บเดียวหลายโครงการและหลาย svn: การอ้างอิงข้ามภายนอก \commonTools /*tools used in all projects. Referenced in each project with svn:externals*/ \NUnit.v2.4.8 \NCover.v.1.5.8 \<other similar tools> \commonFiles /*settings strong name keys etc.*/ \ReSharper.settings \VisualStudio.settings \trash /*each member of the team has trash for samples, experiments etc*/ \user1 \user2 \projects …


7
ควรเพิ่มโฟลเดอร์. net ในการควบคุมเวอร์ชันหรือไม่
ด้วย NuGet เวอร์ชันที่ใหม่กว่าคุณสามารถกำหนดค่าโปรเจ็กต์เพื่อกู้คืนแพ็กเกจ NuGet โดยอัตโนมัติเพื่อไม่ให้packagesโฟลเดอร์รวมอยู่ในที่เก็บซอร์สโค้ด ดี. อย่างไรก็ตามคำสั่งนี้จะเพิ่ม.nugetโฟลเดอร์ใหม่และมีไบนารีอยู่ที่นั่นคือ NuGet.exe นอกจากนี้ยังสามารถสร้างขึ้นใหม่โดยอัตโนมัติโดย Visual Studio ดังนั้นจึงไม่รู้สึกถูกต้องที่จะเพิ่มสิ่งนั้นในการควบคุมเวอร์ชัน อย่างไรก็ตามหากไม่มีโฟลเดอร์นี้ Visual Studio จะไม่โหลดโซลูชันอย่างถูกต้อง ผู้คนจัดการกับปัญหานี้อย่างไร? เพิ่ม. ได้รับการควบคุมแหล่งที่มา? เรียกใช้สคริปต์บรรทัดคำสั่งก่อนเปิดโซลูชันหรือไม่

15
SVN: ละเว้นไดเรกทอรีบางรายการแบบเรียกซ้ำ
ฉันไม่ต้องการให้ไดเร็กทอรีใด ๆ ตั้งชื่อbuildหรือdistเข้าไปใน SVN ของฉันไม่ว่ามันจะอยู่ลึกแค่ไหนในต้นไม้ก็ตาม เป็นไปได้หรือไม่ ในคอมไพล์ฉันใส่ build dist ใน.gitignoreรากของฉันและมันจะละเว้นซ้ำ ฉันจะทำสิ่งนี้กับ svn ได้อย่างไร? โปรดอย่าบอกให้ฉันทำอุปกรณ์ประกอบฉากกับพ่อแม่ทุกคน ...

27
ฉันควรเก็บรหัสที่สร้างขึ้นในการควบคุมแหล่งที่มา
นี่เป็นการอภิปรายที่ฉันเข้าร่วมฉันต้องการรับความคิดเห็นและมุมมองเพิ่มเติม เรามีคลาสบางคลาสที่สร้างขึ้นในเวลาสร้างเพื่อจัดการกับการทำงานของ DB (ในกรณีนี้เฉพาะกับ SubSonic แต่ฉันไม่คิดว่ามันสำคัญมากสำหรับคำถามนี้) การสร้างถูกตั้งค่าเป็นขั้นตอนก่อนสร้างใน Visual Studio ดังนั้นทุกครั้งที่นักพัฒนา (หรือขั้นตอนการสร้างอย่างเป็นทางการ) เรียกใช้งานบิวด์คลาสเหล่านี้จะถูกสร้างขึ้นแล้วรวบรวมลงในโปรเจ็กต์ ตอนนี้บางคนอ้างว่าการมีคลาสเหล่านี้บันทึกไว้ในการควบคุมแหล่งที่มาอาจทำให้เกิดความสับสนในกรณีที่รหัสที่คุณได้รับไม่ตรงกับสิ่งที่จะสร้างขึ้นในสภาพแวดล้อมของคุณเอง ฉันอยากได้วิธีตรวจสอบย้อนหลังของรหัสแม้ว่าโดยปกติจะถือว่าเป็นกล่องดำก็ตาม ข้อโต้แย้งหรือข้อโต้แย้งใด ๆ ? UPDATE: ฉันถามคำถามนี้เพราะฉันเชื่อจริงๆว่ามีคำตอบเดียวที่ชัดเจน เมื่อพิจารณาจากคำตอบทั้งหมดฉันสามารถพูดได้อย่างมั่นใจว่าไม่มีคำตอบดังกล่าว การตัดสินใจควรขึ้นอยู่กับพารามิเตอร์มากกว่าหนึ่งตัว การอ่านคำตอบด้านล่างนี้สามารถให้แนวทางที่ดีมากสำหรับประเภทคำถามที่คุณควรถามตัวเองเมื่อต้องตัดสินใจเกี่ยวกับปัญหานี้ ฉันจะไม่เลือกคำตอบที่ยอมรับ ณ จุดนี้ด้วยเหตุผลที่กล่าวไว้ข้างต้น

4
git push ไปยังสาขาเฉพาะ
แม้ว่าหลังจากอ่านคำถามนี้แล้ว: git-push-current-branchฉันยังคงมีปัญหาในการหาวิธีเขียนคำสั่ง git push ตามที่ระบุไว้ในลิงก์คำถามไม่ชัดเจนจากเอกสารประกอบ ฉันต้องการใช้ตัวอย่าง 'โลกแห่งความจริง' ของฉัน ต่อไปนี้คือสิ่งที่ฉันเห็นเมื่อฉันทำgit statusคำสั่งในระดับบนสุดของสาขาของฉัน: ในสาขา amd_qlp_tester สาขาของคุณอยู่ข้างหน้า 'origin / amd_qlp_tester' โดย 5 คอมมิต ฯลฯ ... ดังนั้นชื่อสาขาของฉันจึงเป็นamd_qlp_testerแต่ "แยก" ออกจากสาขาหลัก (ถ้าฉันมีคำผิดก็เป็นเพราะพื้นหลัง SVN ของฉัน) แต่ก็มีชื่อʻorigin / amd_qlp_testser 'ด้วย แล้วฉันจะพูดคำสั่ง push ของฉันได้อย่างไร? เป็นสิ่งต่อไปนี้หรือไม่: git push origin/amd_qlp_tester git push origin amd_qlp_tester git push amd_qlp_tester git push origin git push


7
เครื่องหมายคำถามหมายถึงอะไรใน Xcode Project Navigator?
ในตัวนำทางโครงการใน Xcode ฉันไม่แน่ใจว่าคืออะไร? กำลังพยายามบอกฉันข้างชื่อไฟล์ ฉันแน่ใจว่าไม่ใช่เรื่องบังเอิญที่นี่เป็นไฟล์เดียวกับที่ฉันลากจากไดเรกทอรีรากของฉันสำหรับโครงการไปยังโฟลเดอร์ Classes (เนื่องจากมีไฟล์. mm อยู่ที่นั่นและฉันต้องการให้พวกเขาอยู่ด้วยกัน) โครงการยังคงรวบรวมได้ดีอย่างไรก็ตามความรู้สึกรหัสของฉันพังเมื่อเร็ว ๆ นี้และฉันสงสัยว่านี่อาจเป็นส่วนหนึ่งของปัญหาหรือไม่ ขอบคุณ!

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