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

8
เคล็ดลับสำหรับการวาง ~ ภายใต้การควบคุมของแหล่งที่มา
ฉันต้องการวางโฮมไดเร็กตอรี่ของฉัน (~) ภายใต้การควบคุมของแหล่งที่มา (git, ในกรณีนี้), เนื่องจากฉันมีไฟล์การตั้งค่ามากมาย (.gitconfig, .gitignore, .emacs, ฯลฯ ) ที่นั่นฉันอยากจะพกพาข้ามเครื่อง และการมี Git จะทำให้การดึงพวกเขาดีขึ้น เครื่องหลักของฉันคือ MacBook ของฉันและวิธีการตั้งค่า OS X มีหลายโฟลเดอร์ที่ฉันต้องการข้าม (เอกสาร, ดาวน์โหลด, .ssh) นอกจากนี้ยังมีโฟลเดอร์ที่ใช้ Git (.emacs.d) อยู่แล้ว ความคิดของฉันคือการเพิ่มไดเรกทอรีเหล่านี้ทั้งหมดไปยังไฟล์. gitignore ของฉัน แต่ดูเหมือนว่าจะน่าเบื่อและอาจทำให้เกิดผลที่คาดไม่ถึง ความคิดต่อไปของฉันคือการคัดลอกไฟล์ที่ฉันต้องการจัดเก็บลงในโฟลเดอร์บางโฟลเดอร์ในบ้านเป็นระยะ ๆ จากนั้นส่งมอบโฟลเดอร์นั้น ปัญหาที่เกิดขึ้นคือฉันต้องจำให้ย้ายพวกเขาก่อนที่จะกระทำ มีวิธีที่สะอาดในการทำเช่นนี้หรือไม่?

8
มีข้อผิดพลาดในการวาง $ HOME ในคอมไพล์แทนที่จะเชื่อมโยง dotfiles หรือไม่?
ฉันใช้เวลาหลายปีใน$HOMEการตรวจสอบไดเรกทอรีทั้งหมดของฉัน สิ่งนี้ได้รวม dotfiles และโปรไฟล์แอปพลิเคชันทั้งหมดของฉัน, สคริปต์, เครื่องมือและแฮ็กจำนวนมาก, โครงสร้างโฮมไดเร็กตอรี่พื้นฐานที่ฉันต้องการ, ไม่ใช่โครงการคี่บอลสองสามตัวและคลังเก็บข้อมูลแบบสุ่ม นี่เป็นสิ่งที่ดี ในขณะที่มันกินเวลา แต่มันหลุดมือไปแล้ว การชำระเงินพื้นฐานเหมือนกันในหลาย ๆ ระบบ แต่ไม่ใช่ทุกอย่างที่เหมาะสมสำหรับเครื่องของฉัน มันไม่ได้เล่นด้วย distros ที่แตกต่างกัน ฉันกำลังอยู่ในขั้นตอนการทำความสะอาดบ้าน - แยกข้อมูลออกจากที่ที่มันเป็นอยู่โดยแยกสคริปต์บางส่วนออกเป็นโปรเจ็กต์แยกกันแก้ไขลิงก์ที่เสียหายบางอย่างในสิ่งที่ควรเป็นแบบอัตโนมัติ ฯลฯ ความตั้งใจของฉันคือการแทนที่subversionด้วยgitการชำระเงินระดับ$HOMEสูง แต่ฉันต้องการตัดสิ่งนี้ลงไปเป็นสิ่งที่ฉันต้องการในทุกระบบของฉันหมายถึง dotfiles ไดเรกทอรีบางตัวและสคริปต์พื้นฐานที่กำหนดเองบางส่วน ในการอ่านออนไลน์ผู้คนจำนวนมากดูเหมือนจะทำสิ่งนี้โดยใช้วิธี symlink: โคลนเข้าไปในไดเรกทอรีย่อยจากนั้นสร้าง symlink จาก$HOMEในที่เก็บ หลังจากมี$HOMEเวอร์ชันเต็มของฉันภายใต้การควบคุมมานานกว่าทศวรรษฉันไม่ชอบแนวคิดของ aproach นี้และฉันไม่สามารถเข้าใจได้ว่าทำไมผู้คนถึงเกลียดชังวิธีชำระเงินตรงๆ มีข้อผิดพลาดที่ฉันต้องรู้เกี่ยวกับgitการชำระเงินระดับบนสุดโดยเฉพาะ$HOMEหรือไม่ ป.ล. ส่วนหนึ่งเป็นการออกกำลังกายด้วยการเขียนโปรแกรมที่ดีฉันยังวางแผนที่จะทำให้การชำระเงินรูทของฉันเป็นแบบสาธารณะบน GitHub มันน่ากลัวว่าข้อมูลความปลอดภัยที่ฉันได้รับอนุญาตให้รวบรวมในไฟล์ที่ควรจะแชร์ได้นั้นน่ากลัวแค่ไหนโดยไม่ต้องคิดอีกเลย! รหัสผ่าน WiFi, คีย์ RSA ที่ไม่ผ่านวลี ฯลฯ Eeek!

2
Github เพิ่มพื้นที่เก็บข้อมูลเป็นทางแยกจากโคลนที่มีอยู่
ดังนั้นฉันมีที่เก็บคอมไพล์ที่ฉันโคลนจากแหล่งต้นน้ำบน ghithub ฉันทำการเปลี่ยนแปลงเล็กน้อยกับมัน (ที่ไม่ได้ผูกมัดและอยู่ในสาขาหลัก) สิ่งที่ฉันต้องการจะทำคือผลักดันการเปลี่ยนแปลงของฉันไปยังหน้า GitHub ของฉันเป็นสาขาใหม่และมี GitHub ยังคงเห็นว่ามันเป็นทางแยก เป็นไปได้ไหม ฉันค่อนข้างใหม่กับคอมไพล์และ GitHub คำถามของฉันไม่สมเหตุสมผล วิธีที่ง่ายที่สุดที่ฉันสามารถนึกได้ โคลนแบบโลคัลไปยังไดเร็กทอรีอื่น เพิ่มธุรกรรมซื้อคืนต้นทาง สร้างสาขาใน repo ที่แยกใหม่ คัดลอกการเปลี่ยนแปลงรหัสของฉันด้วยมือลงใน repo ท้องถิ่นใหม่ จากนั้นดันกลับขึ้นไปยัง GitHub ของฉัน นี่เป็นกรณีการใช้งานทั่วไปที่มีวิธีการทำที่ง่ายกว่าโดยไม่ต้องทำซ้ำไดเรกทอรีหรือไม่ ฉันเดาว่าฉันถามที่นี่ตรงข้ามกับ SO เนื่องจากฉันอยู่บน linux โดยใช้คอมไพล์บรรทัดคำสั่งและผู้คนที่นี่ให้คำตอบที่ดีกว่า imo =]

3
การควบคุมเวอร์ชันสำหรับ / etc ภายใต้ * BSD
มีโซลูชั่นแบบครบวงจรอะไรบ้างที่อยู่/etcภายใต้การควบคุมเวอร์ชันภายใต้คำสั่งต่าง ๆ ? Turnkey ไม่ได้แปลว่าเป็นส่วนหนึ่งของการติดตั้งพื้นฐาน แต่คุณสมบัติต่อไปนี้น่าจะดี: ขอลงในคำสั่ง VCS เพื่อจัดการข้อมูลเมตา (ความเป็นเจ้าของสิทธิ์); บูรณาการกับตัวจัดการแพคเกจ (เรียกใช้โดยอัตโนมัติก่อนและหลังการติดตั้งจัดการอัพเกรดอย่างชาญฉลาด); ปฏิบัติต่อเวอร์ชันไฟล์อัพสตรีมเป็นสาขา รายการเพิกเฉยที่เติมไว้แล้ว; รองรับ VCS พื้นฐานหลายอัน (โดยเฉพาะที่แจกจ่ายแบบกระจาย) ฉันใช้etckeeperภายใต้ Debian และอนุพันธ์ มันมีคุณสมบัติข้างต้นทั้งหมดยกเว้นว่าจะไม่ได้ติดตามเวอร์ชันอัปสตรีม ฉันต้องการเรียนรู้เกี่ยวกับทางเลือกอื่น ๆ โดยเฉพาะใน * BSD

3
เปลี่ยนชื่อไดเรกทอรีในที่เก็บ Github จากระยะไกลโดยตรงจาก Local Git Linux?
นี่คือที่เก็บ Git ของฉัน: https://github.com/benqzq/ulcwe มีชื่อ dir localและฉันต้องการเปลี่ยนชื่อเป็นชื่ออื่น (พูดจากจากlocalเป็นxyz) การเปลี่ยนผ่าน GitHub GUI ด้วยตนเองเป็นฝันร้ายเพราะฉันต้องเปลี่ยนชื่อไดเรกทอรีสำหรับแต่ละไฟล์แยกกัน (GitHub ยังไม่ได้รวมฟังก์ชั่น "เปลี่ยนชื่อไดเรกทอรี" เชื่อหรือไม่) หลังจากติดตั้ง Git ฉันลองคำสั่งนี้: git remote https://github.com/benqzq/ulcwe && git mv local xyz && exit ในขณะที่ฉันไม่ได้รับพรอมต์สำหรับรหัสผ่าน GitHub ของฉันฉันได้รับข้อผิดพลาดนี้: fatal: Not a git repository (or any parent up to mount point /mnt/c) Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM …

4
เครื่องมือหรือเทคนิคในการรับการติดตั้ง linux ที่แตกต่างกัน
อ้าง Albert Einstein บ้า: ทำสิ่งเดียวกันซ้ำแล้วซ้ำอีกและคาดหวังผลลัพธ์ที่แตกต่าง บ่อยครั้งที่ Linux ทำให้ฉันโมโหเพราะฉันทำสิ่งเดียวกันซ้ำแล้วซ้ำอีกและได้ผลลัพธ์ที่แตกต่างกันไปในแต่ละกล่อง (ดูคำถามก่อนหน้าของฉัน ) สำหรับฉันพื้นที่ที่ใหญ่ที่สุดของความสับสนคือการยึดเครื่องที่มีคนอื่นติดตั้ง (เช่นกรณีเมื่อลงทะเบียนกับ บริษัท เว็บโฮสติ้ง) คุณแค่ไม่รู้ว่าคุณกำลังทำอะไรอยู่ มีเครื่องมือ diff ที่ฉลาดบางอย่างที่ฉันสามารถใช้กับการติดตั้ง Linux (Ubuntu) เพื่อให้ฉันดูว่าเครื่องนั้นเปลี่ยนทิศทางจากการติดตั้งเริ่มต้นหรือไม่ นั่นคือสิ่งที่สามารถแสดงรายการคำสั่งที่จะทำงานได้อย่างน่าประหลาดใจโดยหลีกเลี่ยงการลองผิดลองถูก

3
เป็นการแนะนำที่ดีสำหรับการโค่นล้มสำหรับผู้ใช้ที่ไม่มีประสบการณ์? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา คุณช่วยแนะนำการโค่นล้มที่ดีสำหรับผู้ใช้ UNIX (หรือ Mac OS X) ได้หรือไม่? มันสามารถสันนิษฐานได้ว่าคุ้นเคยกับการใช้งานบรรทัดคำสั่งพื้นฐาน แต่ไม่มีหัวข้อขั้นสูงใด ๆ (ที่มีการใช้สคริปต์ทุบตีนับเป็น "การใช้ขั้นสูง" ที่นี่ ... ) จะเป็นการดีที่แนะนำควรจะรวมถึง: แนะนำสั้น ๆ เกี่ยวกับสิ่งที่ VCS สำหรับ (โดยทั่วไป) และรูปแบบการโค่นล้มโดยเฉพาะอย่างยิ่ง; การใช้งานอย่างรวดเร็วเริ่มต้น (เช็คเอาต์อัปเดต / แก้ไข / กระทำรอบ) คำแนะนำในการติดตั้ง; คะแนนโบนัสหากกล่าวถึงว่ามีให้บริการแล้วสำหรับระบบปฏิบัติการหลัก ๆ ทั้งหมดและนำผู้คนไปติดตั้งจากแพ็คเกจและไม่คอมไพล์จากแหล่งที่มา ...
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.