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

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

4
ละเว้นไฟล์ทั้งหมดซ้ำได้อย่างถูกต้องภายใต้โฟลเดอร์เฉพาะยกเว้นประเภทไฟล์เฉพาะ
ฉันเคยเห็นคำถามคล้าย ๆ กัน ( 1 , 2และ3 ) แต่ฉันไม่ได้รับคำตอบที่เหมาะสมจากพวกเขา ฉันต้องละเว้นไฟล์ทั้งหมดในโฟลเดอร์ใดโฟลเดอร์หนึ่งยกเว้นไฟล์บางประเภท โฟลเดอร์เป็นไดเร็กทอรีย่อยสำหรับรูทพา ธ Resourcesผมขอตั้งชื่อโฟลเดอร์ เนื่องจากฉันไม่ต้องการทำให้สิ่งต่างๆซับซ้อนขอให้ฉันละเว้นไฟล์ในโฟลเดอร์ทั้งหมดที่มีชื่อResourcesไม่ว่าจะอยู่ที่ใด นี่เป็นวิธีแก้ปัญหาที่พบบ่อยที่สุด (ในคำถามที่ซ้ำกันทั้งหมด) # Ignore everything * # Don't ignore directories, so we can recurse into them !*/ # Don't ignore .gitignore !.gitignore # Now exclude our type !*.foo ปัญหาในการแก้ปัญหานี้คือหยุดติดตามไฟล์ที่เพิ่มใหม่ (เนื่องจาก*ละเว้นไฟล์ทั้งหมด) ฉันไม่ต้องการยกเว้นไฟล์แต่ละไฟล์ทุกประเภท ฉันต้องการพฤติกรรมปกติที่หากมีการเพิ่มไฟล์ใหม่จะgit statusแสดงมัน ในที่สุดผมก็มีวิธีการแก้ปัญหาที่นี่ วิธีแก้ไขคือเพิ่ม.gitignoreไฟล์อื่นในResourcesโฟลเดอร์ ทำงานได้อย่างถูกต้อง …

8
git ที่เก็บซิงค์ระหว่างคอมพิวเตอร์เมื่อย้ายไปมา?
สมมติว่าฉันมีพีซีเดสก์ท็อปและแล็ปท็อปบางครั้งฉันทำงานบนเดสก์ท็อปและบางครั้งฉันก็ทำงานบนแล็ปท็อป วิธีที่ง่ายที่สุดในการย้ายที่เก็บ git ไปมาคืออะไร? ฉันต้องการให้ที่เก็บ git เหมือนกันเพื่อที่ฉันจะได้ดำเนินการต่อจากที่ที่ฉันทิ้งไว้ในคอมพิวเตอร์เครื่องอื่น ฉันต้องการตรวจสอบให้แน่ใจว่าฉันมีสาขาและแท็กเดียวกันบนคอมพิวเตอร์ทั้งสองเครื่อง ขอบคุณ Johan หมายเหตุ: ฉันรู้วิธีทำกับ SubVersion แต่ฉันอยากรู้ว่ามันจะทำงานกับคอมไพล์อย่างไร ถ้าง่ายกว่านั้นฉันสามารถใช้พีซีเครื่องที่สามเป็นเซิร์ฟเวอร์แบบคลาสสิกที่พีซีสองเครื่องสามารถซิงค์ได้ หมายเหตุ: คอมพิวเตอร์ทั้งสองเครื่องกำลังใช้งาน Linux อัปเดต : ลองใช้แนวคิด XANI: s กับ repo git เปล่าบนเซิร์ฟเวอร์และไวยากรณ์คำสั่ง push จาก KingCrunch ในตัวอย่างนี้มีไคลเอนต์สองตัวและหนึ่งเซิร์ฟเวอร์ มาสร้างส่วนของเซิร์ฟเวอร์ก่อน ssh user@server mkdir -p ~/git_test/workspace cd ~/git_test/workspace git --bare init ดังนั้นจากคอมพิวเตอร์เครื่องอื่นฉันพยายามรับสำเนา repo ด้วยโคลน: git clone user@server:~/git_test/workspace/ Initialized empty …

8
git-svn: อะไรเทียบเท่ากับ "svn switch --relocate`?
ที่เก็บ svn ที่ฉันมิเรอร์ผ่าน git-svn ได้เปลี่ยน URL ในวานิลลา SVN svn switch --relocate old_url_base new_url_baseคุณเพียงแค่ต้องการทำ ฉันจะทำสิ่งนี้โดยใช้ git-svn ได้อย่างไร เพียงแค่เปลี่ยน svn url ในไฟล์ config ก็ล้มเหลว

7
.classpath และ. project - ตรวจสอบการควบคุมเวอร์ชันหรือไม่?
ฉันกำลังใช้งานโปรเจ็กต์จาวาโอเพ่นซอร์สที่ประกอบด้วยหลายโมดูลในโครงสร้างการอ้างอิง โมดูลทั้งหมดเป็นไดเร็กทอรีย่อยในที่เก็บการโค่นล้ม สำหรับผู้มาใหม่ในโครงการของเราการตั้งค่าทั้งหมดด้วยตนเองใน eclipse เป็นเรื่องที่ต้องทำมาก นักพัฒนาของเราบางคนไม่ได้ใช้ eclipse อย่างไรก็ตามเรากำลังพิจารณาที่จะตรวจสอบไฟล์. classpath และ. project เพื่อช่วยผู้มาใหม่ในการเริ่มต้นใช้งาน นี่เป็นความคิดที่ดีหรือไม่? หรือนั่นจะนำไปสู่ความขัดแย้งอย่างต่อเนื่องในไฟล์เหล่านั้น? มีวิธีอื่นในการทำให้โครงการติดตั้งบนคราสได้ง่ายหรือไม่?

4
Git แบบไม่กรอไปข้างหน้าถูกปฏิเสธ
ฉันรู้สึกว่ามีการถามคำถามนี้หลายครั้ง แต่โดยทั่วไปแล้ววิธีแก้ปัญหาคือ "ฉันลบไดเรกทอรีและดำเนินการใหม่โดยใช้การชำระเงินใหม่" ฉันได้กระทำและผลักดัน แต่ตระหนักว่าฉันอ้างถึงหมายเลขตั๋วผิดในข้อความคอมมิต ดังนั้นฉันจึงมองหา SO เพื่อหาวิธีแก้ปัญหาอย่างรวดเร็วและลงเอยด้วยการพิมพ์ข้อความต่อไปนี้ในเทอร์มินัล $ git reset --soft HEAD^ $ git commit -m "... correct message ..." ปัญหาเดียวคือฉันได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้: To prevent you from losing history, non-fast-forward updates were rejected Merge the remote changes before pushing again. See the 'Note about fast-forwards' section of 'git push --help' for …

3
วิธีรับ Visual Studio เพื่อเปิดหน้าต่างแก้ไขข้อขัดแย้งหลังจาก TFS Get
เมื่อฉันรับข้อมูลล่าสุดใน Visual Studio หากมีข้อขัดแย้งไม่มีสิ่งใดที่แสดงให้ฉันเห็นได้ชัดเจน ฉันคิดว่าทุกอย่างเรียบร้อยดีสร้างและบ่อยครั้งงานสร้าง ความรับผิดชอบอยู่กับฉันเสมอที่ต้องจำไว้ว่าให้มองหาความขัดแย้งเพื่อเปิดหน้าต่างความขัดแย้ง มีวิธีใดบ้างที่จะทำให้ VS เข้าหน้าฉันและบอกฉันว่าตอนนี้มีความขัดแย้ง?

6
คำสั่งเพื่อล้างหน้าจอ Git Bash
มีคำสั่งใดใน Git ที่ล้างหน้าจอ ตัวอย่างเช่นในบรรทัดคำสั่งของหน้าต่างหลังจากรันโค้ดจำนวนมากหากคุณพิมพ์ cls มันจะล้างโค้ดก่อนหน้าทั้งหมด ดังนั้นฉันต้องการฟังก์ชันประเภทเดียวกันใน Git ใครก็ได้ช่วยบอกชื่อคำสั่งหน่อย

16
จะค้นหาไฟล์ที่ไม่ถูกติดตามในโครงสร้าง Perforce ได้อย่างไร? (อะนาล็อกของสถานะ svn)
ใครมีสคริปต์หรือนามแฝงเพื่อค้นหาไฟล์ที่ไม่ได้ติดตาม (จริงๆ: ไม่มีการเพิ่ม) ในโครงสร้าง Perforce? แก้ไข: ฉันอัปเดตคำตอบที่ยอมรับสำหรับคำตอบนี้เนื่องจากดูเหมือนว่า P4V จะเพิ่มการสนับสนุนสำหรับสิ่งนี้ในรุ่นเดือนมกราคม 2552

12
Should I keep my project files under version control? [closed]
ตามที่กล่าวมาในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบถาม & ตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจก่อให้เกิดการถกเถียงโต้แย้งการสำรวจความคิดเห็นหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงได้และอาจเปิดขึ้นมาใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือ for guidance. ปิดให้บริการเมื่อ9 ปีที่แล้ว. ฉันควรเก็บไฟล์โปรเจ็กต์เช่น. project, .classpath, .settings ของ Eclipse ภายใต้การควบคุมเวอร์ชัน (เช่น Subversion, GitHub, CVS, Mercurial ฯลฯ ) หรือไม่

7
ตรวจสอบแพ็คเกจจาก NuGet ในการควบคุมเวอร์ชันหรือไม่
ก่อนหน้า NuGet เป็นที่ยอมรับกันทั่วไปว่า 'แนวทางปฏิบัติที่ดีที่สุด' ในการเช็คอิน DLL ภายนอกทั้งหมดที่ใช้ในโครงการ โดยปกติจะอยู่ในไดเรกทอรีLibsหรือ3rdParty เมื่อทำงานกับ NuGet ฉันควรเช็คอินpackagesไดเร็กทอรีหรือมีวิธีให้ MSBuild ดาวน์โหลดแพ็กเกจที่ต้องการจากฟีดนักเก็ตโดยอัตโนมัติหรือไม่

3
โฟลเดอร์ 'ความกังวล' แบบสุ่มและไฟล์ '.keep'
ฉันกำลังเรียนรู้เรื่องราง ฉันสังเกตเห็นว่าโฟลเดอร์และไฟล์แบบสุ่มปรากฏอยู่ในไดเรกทอรีของแอปราง ในบางโฟลเดอร์จะมีconcernsโฟลเดอร์ที่มี.keepไฟล์อยู่ภายใน .keepไฟล์ที่ดูเหมือนจะเป็นที่ว่างเปล่า ในโฟลเดอร์อื่นไม่มีconcernsโฟลเดอร์ แต่มี.keepไฟล์ว่างอยู่ มีใครรู้บ้างว่าการจัดการไฟล์ / โฟลเดอร์เหล่านี้คืออะไร?

7
ไม่สามารถชำระเงินไฟล์ถูกยกเลิกการผสาน
ฉันพยายามลบไฟล์ออกจากไดเร็กทอรีการทำงานของฉัน แต่หลังจากใช้คำสั่งต่อไปนี้ git checkout file_Name.txt ฉันได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้ error: path 'first_Name.txt' is unmerged นั่นคืออะไรและจะแก้ไขได้อย่างไร? ต่อไปนี้คือสถานะคอมไพล์ของฉัน $ git status On branch master You are currently reverting commit f200bf5. (fix conflicts and run "git revert --continue") (use "git revert --abort" to cancel the revert operation) Unmerged paths: (use "git reset HEAD <file>..." to unstage) …

6
ตรวจสอบการกระทำเก่าและการดูแลหัวหน้าในสาขาหลักหรือไม่?
ขณะนี้สำหรับการเปลี่ยนไปใช้คอมมิตคอมไพล์อื่น (ในสาขาเดียวกัน ... จริงๆแล้วในสาขาหลัก!) ฉันกำลังดำเนินการคำสั่ง git checkout ea3d5ed039edd6d4a07cc41bd09eb58edd1f2b3a ตอนนี้ทุกครั้งที่ฉันทำคอมไพล์นี้บอกฉันว่าตอนนี้ฉันหัวแตก ฉันจะไปที่การกระทำที่เก่ากว่าและยังคงรักษาหัวหน้าในสาขาเดียวกันได้อย่างไร

2
จะยกเลิกการผสาน Mercurial ได้อย่างไร?
ฉันเกลียดการผสาน ฉันต้องการเปลี่ยนกลับแล้วลองอีกครั้ง มีวิธียกเลิกการผสานก่อนที่จะทำการคอมมิตหรือไม่? hg revertไม่ทำในสิ่งที่ฉันต้องการ แต่จะเปลี่ยนข้อความของไฟล์เท่านั้น Mercurial ยกเลิกความพยายามครั้งที่สองของฉันในการรวมและบ่นว่าการผสานดั้งเดิมยังคงไม่มีข้อผูกมัด มีวิธียกเลิกการผสานหลังจากhg mergeคำสั่ง แต่ก่อนที่จะคอมมิตหรือไม่?

4
การยุบประวัติของที่เก็บ git
เรามีโครงการคอมไพล์ซึ่งมีประวัติอันยิ่งใหญ่ โดยเฉพาะอย่างยิ่งในช่วงต้นโครงการมีไฟล์ทรัพยากรไบนารีจำนวนมากในโครงการตอนนี้สิ่งเหล่านี้ถูกลบออกเนื่องจากเป็นทรัพยากรภายนอกอย่างมีประสิทธิภาพ อย่างไรก็ตามขนาดของพื้นที่เก็บข้อมูลของเราคือ> 200MB (ขณะนี้การชำระเงินทั้งหมดอยู่ที่ ~ 20MB) เนื่องจากมีไฟล์เหล่านี้ก่อนหน้านี้ สิ่งที่เราต้องการทำคือ "ยุบ" ประวัติเพื่อให้ที่เก็บดูเหมือนถูกสร้างขึ้นจากการแก้ไขในภายหลังมากกว่าที่เป็นอยู่ ตัวอย่างเช่น 1-----2-----3-----4-----+---+---+ \ / +-----+---+---+ สร้างที่เก็บแล้ว เพิ่มไฟล์ไบนารีชุดใหญ่ ไฟล์ไบนารีชุดใหญ่ถูกลบออก 'เริ่มต้น' ที่ตั้งใจไว้ใหม่ของที่เก็บ ดังนั้นเราจึงต้องการสูญเสียประวัติโครงการก่อนถึงจุดหนึ่ง ณ จุดนี้มีเพียงสาขาเดียวดังนั้นจึงไม่มีความยุ่งยากในการพยายามจัดการกับจุดเริ่มต้นหลาย ๆ จุดเป็นต้นอย่างไรก็ตามเราไม่ต้องการเสียประวัติทั้งหมดและเริ่มที่เก็บใหม่ด้วยเวอร์ชันปัจจุบัน เป็นไปได้หรือเราถึงวาระที่จะมีพื้นที่เก็บข้อมูลที่ป่องตลอดไป?

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