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

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

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

17
วิธีการแปลงที่เก็บ Git ปกติเป็นที่โล่ง?
ฉันจะแปลงพื้นที่เก็บข้อมูล Git 'ปกติ' เป็นพื้นที่ว่างเปล่าได้อย่างไร ความแตกต่างที่สำคัญน่าจะเป็น: ในพื้นที่เก็บข้อมูล Git ปกติคุณมี.gitโฟลเดอร์ในพื้นที่เก็บข้อมูลที่มีข้อมูลที่เกี่ยวข้องทั้งหมดและไฟล์อื่น ๆ ทั้งหมดที่ประกอบขึ้นเป็นสำเนาการทำงานของคุณ ในพื้นที่เก็บข้อมูล Git เปลือยไม่มีสำเนาทำงานและโฟลเดอร์ (ลองเรียกมันว่าrepo.git) มีข้อมูลที่เก็บจริง

18
เครื่องมือผสานการมองเห็นที่ดีที่สุดสำหรับ Git คืออะไร [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดเมื่อเดือนที่แล้ว เครื่องมือที่ดีที่สุดในการดูและแก้ไขการผสานใน Git คืออะไร ฉันต้องการรับมุมมองแบบสามทางด้วย "เหมือง", "ของพวกเขา" และ "บรรพบุรุษ" ในแผงแยกต่างหากและแผง "เอาท์พุท" ที่สี่ นอกจากนี้คำแนะนำสำหรับการเรียกใช้เครื่องมือดังกล่าวจะยอดเยี่ยม (ฉันยังไม่ได้คิดออกว่าจะเริ่ม kdiff3 ในลักษณะที่ไม่ทำให้ฉันมีข้อผิดพลาด) ระบบปฏิบัติการของฉันคือ Ubuntu

30
คุณใช้การควบคุมแหล่งที่มาสำหรับรายการฐานข้อมูลของคุณหรือไม่ [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา ฉันรู้สึกว่าร้านค้าของฉันมีรูเพราะเราไม่มีกระบวนการที่มั่นคงสำหรับการกำหนดเวอร์ชันการเปลี่ยนแปลงคีมาฐานข้อมูลของเรา เราทำการสำรองข้อมูลจำนวนมากดังนั้นเราจึงได้รับความคุ้มครองมากกว่าหรือน้อยกว่า แต่เป็นแนวปฏิบัติที่ไม่ดีที่ต้องพึ่งพาแนวป้องกันสุดท้ายของคุณในลักษณะนี้ น่าแปลกที่ดูเหมือนว่านี่จะเป็นเธรดทั่วไป ร้านค้าหลายแห่งที่ฉันพูดเพื่อเพิกเฉยต่อปัญหานี้เพราะฐานข้อมูลของพวกเขาไม่เปลี่ยนแปลงบ่อยนักและพวกเขาเพียงแค่พยายามจะพิถีพิถัน อย่างไรก็ตามฉันรู้ว่าเรื่องราวนั้นเป็นอย่างไร เป็นเพียงเรื่องของเวลาก่อนที่สิ่งต่าง ๆ เข้าแถวผิดและมีบางอย่างหายไป มีวิธีปฏิบัติที่ดีที่สุดสำหรับสิ่งนี้หรือไม่? กลยุทธ์อะไรบ้างที่ใช้ได้ผลสำหรับคุณ

5
จะอัพเดทคำขอดึงจาก repo ที่มีการแยกได้อย่างไร
ดังนั้นฉันจึงแยก repo ก่อนแล้วจึงทำคอมมิชชันที่ forked นั้น ฉันเปิดคำขอดึงแล้ว คำขอดึงแสดงการเปลี่ยนแปลงทั้งหมดที่ฉันต้องการ หลังจากตรวจสอบคำขอดึงของฉันมีการเปลี่ยนแปลงหลายอย่างที่เจ้าของซื้อคืนต้องการให้ฉันทำก่อนที่เขาจะยอมรับ ฉันได้ทำการเปลี่ยนแปลงในทางแยกแล้วตอนนี้ฉันจะอัปเดตคำขอดึงกับการเปลี่ยนแปลงเหล่านั้นได้อย่างไร (หรือนี่ไม่ใช่วิธีที่ฉันควรจัดการ)

21
การใช้สมุดบันทึก IPython ภายใต้การควบคุมเวอร์ชัน
กลยุทธ์ที่ดีในการรักษาโน้ตบุ๊กIPython ให้อยู่ในการควบคุมเวอร์ชัน รูปแบบสมุดบันทึกค่อนข้างคล้อยตามสำหรับการควบคุมเวอร์ชัน: หากต้องการควบคุมเวอร์ชันโน้ตบุ๊กและเอาท์พุตสิ่งนี้จะทำงานได้ค่อนข้างดี ความรำคาญเกิดขึ้นเมื่อเราต้องการควบคุมการป้อนข้อมูลเฉพาะรุ่นไม่รวมเอาท์พุทของเซลล์ (aka. "build products") ซึ่งอาจเป็น blobs ไบนารีขนาดใหญ่โดยเฉพาะอย่างยิ่งสำหรับภาพยนตร์และแปลง โดยเฉพาะอย่างยิ่งฉันพยายามหาเวิร์กโฟลว์ที่ดีที่: อนุญาตให้ฉันเลือกระหว่างการรวมหรือไม่รวมเอาต์พุต ป้องกันฉันจากการส่งออกโดยไม่ตั้งใจถ้าฉันไม่ต้องการ ช่วยให้ฉันสามารถเก็บเอาท์พุทในรุ่นท้องถิ่นของฉัน อนุญาตให้ฉันดูเมื่อฉันมีการเปลี่ยนแปลงในอินพุตโดยใช้ระบบควบคุมเวอร์ชันของฉัน (เช่นถ้าฉันควบคุมเฉพาะอินพุตเท่านั้น แต่ไฟล์ในเครื่องของฉันมีเอาต์พุตฉันต้องการจะดูว่าอินพุตมีการเปลี่ยนแปลงหรือไม่ ) การใช้คำสั่งสถานะการควบคุมเวอร์ชันจะลงทะเบียนความแตกต่างเสมอเนื่องจากไฟล์ในเครื่องมีเอาต์พุต) อนุญาตให้ฉันอัปเดตสมุดบันทึกการทำงานของฉัน (ซึ่งมีเอาต์พุต) จากสมุดบันทึกที่อัปเดตที่สะอาดแล้ว (update) ตามที่กล่าวไว้ถ้าฉันเลือกที่จะรวมเอาท์พุท (ซึ่งเป็นที่ต้องการเมื่อใช้nbviewerเป็นต้น) ทุกอย่างก็โอเค ปัญหาคือเมื่อฉันไม่ต้องการรุ่นควบคุมผลลัพธ์ มีเครื่องมือและสคริปต์บางอย่างสำหรับการลอกเอาต์พุตของโน้ตบุ๊ก แต่บ่อยครั้งที่ฉันพบปัญหาต่อไปนี้: ฉันส่งเวอร์ชันโดยไม่ตั้งใจด้วยเหตุนี้จึงทำให้ที่เก็บข้อมูลของฉันสกปรก ฉันลบเอาต์พุตเพื่อใช้การควบคุมเวอร์ชัน แต่จะเก็บเอาท์พุทไว้ในเครื่องของฉัน (บางครั้งใช้เวลานานในการสร้างตัวอย่าง) สคริปต์บางตัวที่ดึงเอาท์พุทเปลี่ยนรูปแบบเล็กน้อยเมื่อเทียบกับCell/All Output/Clearตัวเลือกเมนูดังนั้นจึงสร้างเสียงรบกวนที่ไม่พึงประสงค์ในส่วนต่าง นี่คือคำตอบบางคำตอบ เมื่อดึงการเปลี่ยนแปลงไปยังไฟล์เวอร์ชั่นใหม่ทั้งหมดฉันต้องหาวิธีที่จะรวมการเปลี่ยนแปลงเหล่านั้นไว้ในสมุดบันทึกการทำงานของฉันโดยไม่ต้องรันใหม่ทุกอย่าง (update) ฉันได้พิจารณาตัวเลือกหลายอย่างที่ฉันจะกล่าวถึงด้านล่าง แต่ยังไม่พบวิธีแก้ปัญหาที่ครอบคลุมดี โซลูชันที่สมบูรณ์อาจต้องการการเปลี่ยนแปลงบางอย่างกับ IPython หรืออาจต้องพึ่งพาสคริปต์ภายนอกแบบง่าย ๆ ตอนนี้ฉันใช้Mercurialแต่ต้องการโซลูชันที่ทำงานร่วมกับgit ได้ : ทางออกที่ดีที่สุดคือการควบคุมแบบไม่เชื่อเรื่องพระเจ้า ปัญหานี้มีการพูดคุยหลายครั้ง …

8
composer.lock ควรมุ่งมั่นที่จะควบคุมเวอร์ชันหรือไม่?
ฉันสับสนเล็กน้อยที่composer.lockใช้ในแอปพลิเคชันที่มีที่เก็บ ฉันเห็นหลายคนบอกว่าเราไม่ควร.gitignore composer.lockออกจากที่เก็บ หากฉันอัปเดตห้องสมุดของฉันในสภาพแวดล้อมการพัฒนาของฉันฉันจะมีใหม่composer.lockแต่ฉันจะไม่สามารถอัปเดตไลบรารีเหล่านั้นเป็นการผลิตได้หรือไม่ มันจะไม่สร้างความขัดแย้งในไฟล์นี้หรือไม่?

12
การจัดการไฟล์ไบนารีขนาดใหญ่ด้วย Git
ฉันกำลังมองหาความคิดเห็นเกี่ยวกับวิธีจัดการกับไฟล์ไบนารีขนาดใหญ่ซึ่งซอร์สโค้ดของฉัน (เว็บแอพพลิเคชัน) ขึ้นอยู่กับ ขณะนี้เรากำลังพูดถึงทางเลือกหลายทาง: คัดลอกไฟล์ไบนารีด้วยมือ Pro: ไม่แน่ใจ Contra: ฉันต่อต้านสิ่งนี้อย่างมากเนื่องจากจะเพิ่มโอกาสเกิดข้อผิดพลาดเมื่อตั้งค่าไซต์ใหม่ / ย้ายข้อมูลเก่า สร้างอุปสรรค์อื่นที่จะใช้ จัดการกับพวกเขาทั้งหมดที่มีGit Pro: ลบความเป็นไปได้ที่จะ 'ลืม' เพื่อคัดลอกไฟล์สำคัญ Contra: ขยายพื้นที่เก็บข้อมูลและลดความยืดหยุ่นในการจัดการรหัสฐานและชำระเงินโคลน ฯลฯ จะใช้เวลาสักครู่ แยกที่เก็บ Pro: การตรวจสอบ / การโคลนรหัสที่มานั้นรวดเร็วและภาพนั้นถูกเก็บถาวรอย่างถูกต้องในพื้นที่เก็บข้อมูลของตัวเอง Contra: ลบความเรียบง่ายของการมีที่เก็บ Git หนึ่งเดียวในโครงการ มันแนะนำสิ่งอื่น ๆ ที่ฉันไม่ได้คิด คุณมีประสบการณ์ / ความคิดเกี่ยวกับเรื่องนี้อย่างไร นอกจากนี้: ไม่มีใครมีประสบการณ์กับที่เก็บ Git หลายแห่งและจัดการกับพวกเขาในโครงการเดียวหรือไม่? ไฟล์เป็นรูปภาพสำหรับโปรแกรมที่สร้าง PDF พร้อมไฟล์เหล่านั้น ไฟล์จะไม่เปลี่ยนแปลงบ่อยนัก (เหมือนในปีที่ผ่านมา) แต่ไฟล์เหล่านี้เกี่ยวข้องกับโปรแกรมมาก โปรแกรมจะไม่ทำงานหากไม่มีไฟล์

11
Git and Mercurial - เปรียบเทียบและความเปรียบต่าง
ในขณะนี้ฉันใช้การโค่นล้มสำหรับโครงการส่วนตัวของฉัน มากขึ้นเรื่อย ๆ ฉันได้ยินสิ่งดีๆเกี่ยวกับ Git และ Mercurial และ DVCS โดยทั่วไป ฉันต้องการให้สิ่งที่ DVCS ทั้งหมดเป็นเรื่องวน แต่ฉันก็ไม่คุ้นเคยกับตัวเลือกทั้งสอง Mercurial และ Git ต่างกันอย่างไร? หมายเหตุ: ฉันไม่ได้พยายามหาว่าอันไหนที่ "ดีที่สุด" หรือแม้แต่อันที่ฉันควรเริ่มต้นด้วย ฉันกำลังมองหาพื้นที่สำคัญที่พวกเขามีลักษณะคล้ายกันและที่พวกเขาแตกต่างกันเพราะฉันสนใจที่จะรู้ว่าพวกเขาแตกต่างกันในแง่ของการดำเนินงานและปรัชญา

7
Gemfile.lock ควรรวมอยู่ใน. gignignore หรือไม่?
ฉันเป็นคนใหม่สำหรับบันเดิลและไฟล์ที่สร้างขึ้น ฉันมีสำเนา repo git จาก GitHub ที่หลายคนสนับสนุนดังนั้นฉันประหลาดใจที่พบว่า Bundler สร้างไฟล์ที่ไม่มีอยู่ใน repo และไม่อยู่ใน.gitignoreรายการ เนื่องจากฉันได้แยกมันฉันรู้ว่าการเพิ่มลงใน repo จะไม่ทำลายอะไรสำหรับ repo หลัก แต่ถ้าฉันทำคำขอดึงมันจะทำให้เกิดปัญหาหรือไม่ ควรGemfile.lockรวมอยู่ในที่เก็บหรือไม่?

14
จะใช้ Git สำหรับการควบคุมแหล่ง Unity3D ได้อย่างไร
ตั้งค่าไว้ที่Stack Overflow เพื่อแสดงให้เห็นว่าคุณกำลังใช้งาน Git дляконтроляверсийв Unity3D? วิธีปฏิบัติที่ดีที่สุดสำหรับการใช้การควบคุมแหล่งGitด้วย Unity 3D โดยเฉพาะในการจัดการกับลักษณะไบนารีของโครงการ Unity 3D คืออะไร โปรดอธิบายเวิร์กโฟลว์เส้นทางใดที่จะรวมอยู่ใน. gitignore การตั้งค่าใดที่ควรตั้งค่าใน Unity และ / หรือโครงการและสิ่งพิเศษอื่น ๆ ที่ควรจดบันทึกไว้ หมายเหตุ: ฉันตระหนักว่าการใช้เซิร์ฟเวอร์สินทรัพย์เป็นวิธีที่แนะนำให้ใช้ Unity แต่ฉันต้องการใช้ Git ด้วยเหตุผลหลายประการ โปรดอย่าตอบว่ารัฐหรือโต้แย้งว่าฉันควรใช้เซิร์ฟเวอร์สินทรัพย์ เซิร์ฟเวอร์สินทรัพย์ไม่ใช่ตัวเลือกสำหรับฉันจริงๆ

4
ความแตกต่างระหว่าง HEAD, แผนผังการทำงานและดัชนีใน Git คืออะไร?
มีคนบอกความแตกต่างระหว่าง HEAD, แผนผังการทำงานและดัชนีใน Git ได้ไหม? จากสิ่งที่ฉันเข้าใจพวกเขาเป็นชื่อของสาขาที่แตกต่างกัน สมมติฐานของฉันถูกต้องหรือไม่ แก้ไข ฉันพบสิ่งนี้ พื้นที่เก็บข้อมูล git เดียวสามารถติดตามจำนวนสาขาโดยพลการ แต่แผนผังการทำงานของคุณเชื่อมโยงกับหนึ่งในนั้น (สาขา "ปัจจุบัน" หรือ "เช็คเอาต์" สาขา) และ HEAD ชี้ไปที่สาขานั้น นี่หมายความว่า HEAD และแผนผังการทำงานเหมือนกันหรือไม่

10
Git mergetool สร้างไฟล์. orig ที่ไม่ต้องการ
เมื่อฉันทำการแก้ไขข้อขัดแย้งผสานกับ Kdiff3 (และเครื่องมือการผสานอื่น ๆ ที่ฉันลอง) ฉันสังเกตว่าการแก้ไข*.origไฟล์ถูกสร้างขึ้น มีวิธีที่จะไม่สร้างไฟล์พิเศษหรือไม่?

9
คุณจะได้รับ git ดึงจากสาขาเฉพาะได้อย่างไร
ฉันไม่ใช่อาจารย์ git แต่ฉันได้ทำงานกับมันมาระยะหนึ่งแล้วด้วยโครงการที่แตกต่างกันหลายโครงการ ในแต่ละโครงการฉันจะเสมอgit clone [repository]และจากจุดนั้นสามารถทำได้git pullตราบใดที่ฉันไม่มีการเปลี่ยนแปลงที่โดดเด่นแน่นอน เมื่อเร็ว ๆ git checkout 4f82a29นี้ผมต้องย้อนกลับไปยังสาขาก่อนหน้านี้และทำเช่นนั้นด้วย เมื่อฉันพร้อมที่จะดึงอีกครั้งฉันก็พบว่าฉันต้องกลับไปที่กิ่ง ตอนนี้ฉันไม่สามารถดึงโดยใช้เส้นตรงได้git pullแต่ต้องระบุgit pull origin masterซึ่งน่ารำคาญและบอกกับฉันว่าฉันไม่เข้าใจสิ่งที่เกิดขึ้น มีการเปลี่ยนแปลงอะไรที่ไม่อนุญาตให้ฉันทำแบบตรงgit pullโดยไม่ต้องระบุตัวตนต้นแบบและฉันจะเปลี่ยนกลับได้อย่างไร UPDATE: -bash-3.1$ cat config [core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [branch "master"] [remote "origin"] url = git@github.com:user/project.git fetch = refs/heads/*:refs/remotes/origin/* อัปเดต 2: เพื่อความชัดเจนฉันเข้าใจว่าวิธีดั้งเดิมของฉันอาจไม่ถูกต้อง …

10
จะกลับไปใช้การคอมมิทล่าสุดได้อย่างไรหลังจากตรวจสอบการคอมมิชชันก่อนหน้า
บางครั้งฉันตรวจสอบรหัสรุ่นก่อนหน้าเพื่อตรวจสอบหรือทดสอบ ฉันได้เห็นคำแนะนำเกี่ยวกับสิ่งที่ต้องทำถ้าฉันต้องการแก้ไขข้อผูกพันก่อนหน้านี้ - แต่สมมติว่าฉันไม่ทำการเปลี่ยนแปลงใด ๆ หลังจากทำเสร็จgit checkout HEAD^แล้วฉันจะกลับไปที่ปลายกิ่งได้อย่างไร .. git logไม่แสดงให้ฉันเห็นถึงความมุ่งมั่นล่าสุดของ SHA อีกต่อไป

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