Score:1

วิธีซิงค์ไดเรกทอรีบ้าน Ubuntu WSL และ MINGW สำหรับฉัน

ธง in

ดังนั้นฉันจึงคุ้นเคยกับการใช้ Git สำหรับ Windows mingw และมีการตั้งค่าคีย์ ssh ที่นั่น

เพิ่งนำ Ubuntu 18 มาใช้บน WSL (ระบบย่อย Windows สำหรับ linux) และตระหนักว่าโฮมโฟลเดอร์ใน Ubuntu นั้นแตกต่างจากโฮมโฟลเดอร์สำหรับ MinGW

MinGW ใช้โฟลเดอร์โฮม Windows จริงของฉัน (โดยทั่วไปคือ C:\Users\eric) และโฟลเดอร์ ssh อยู่ใน C:\Users\eric.ssh

Ubuntu WSL ใช้โฟลเดอร์อื่นสำหรับ /home/eric และ .ssh ของฉันใน Ubuntu ไม่ใช่โฟลเดอร์เดียวกันอย่างชัดเจน

การรู้ว่า windows ดำเนินการแก้ไขโฮมโฟลเดอร์สำหรับไฟล์ที่เปิดเผยใน WSL ไม่ได้รับการสนับสนุนในขณะนี้ (ปัญหาการซิงค์ข้อมูลเมตาของ VolFS, google it) อย่างไรก็ตาม อย่างน้อยก็เป็นการดีที่จะซิงค์โฟลเดอร์ .ssh ของฉัน

วิธีที่เหมาะสมในการทำเช่นนี้คืออะไร

ฉันไม่เห็นว่า MinGW ติดตั้งโฮมโฟลเดอร์อย่างไร และฉันไม่เห็นวิธีย้ายการอ้างอิงโฮมโฟลเดอร์ของ Ubuntu (หรืออย่างน้อยโฟลเดอร์ .ssh) ไปยัง C:\Users\eric.ssh

Score:1
ธง vn

การรู้ว่า windows ดำเนินการแก้ไขโฮมโฟลเดอร์สำหรับไฟล์ที่เปิดเผยใน WSL ไม่ได้รับการสนับสนุนในขณะนี้ (ปัญหาการซิงค์ข้อมูลเมตาของ VolFS, google it)

ถ้าคุณหมายถึง ปัญหานี้ หรืออนุพันธ์ของมัน โปรดทราบว่าปัญหาได้รับการแก้ไขเมื่อนานมาแล้ว (ตามที่ระบุไว้ในบล็อกโพสต์ของ Microsoft) ด้วยการสร้างวิธีการเข้าถึง DrvFs สำหรับ WSL จาก Git Bash คุณจะใช้:

ซีดี //wsl\$/Ubuntu-18.04
# แทนที่ชื่อ distro ที่เหมาะสมหากจำเป็น

ฉันไม่แนะนำให้ "ย้าย" โฟลเดอร์โฮมทั้งสองโฟลเดอร์ (เช่น พยายามใช้โฟลเดอร์ของระบบใดโฟลเดอร์หนึ่งเป็นโฮมของอีกโฟลเดอร์หนึ่ง) เป็นการส่วนตัว คุณมักจะประสบปัญหาเกี่ยวกับสิทธิ์/ความเป็นเจ้าของ UID/GID ที่แตกต่างกัน ฯลฯ "การซิงค์" ทั้งสองจะเป็นกลยุทธ์ที่ดีกว่ามาก IMHO

อย่างไรก็ตาม คำถามนี้เคยเกิดขึ้นแล้ว และคำแนะนำทั่วไปคือให้ใช้ที่เก็บ git สำหรับจัดเก็บ/ซิงค์ไฟล์กำหนดค่าที่ใช้ร่วมกันของคุณระหว่าง "โฮสต์" (WSL/Ubuntu และ Git Bash ในกรณีนี้) มีโปรแกรมอรรถประโยชน์มากมายที่ออกแบบมาเพื่อทำให้ง่ายขึ้น โดยมีรายการที่ดี ที่นี่. ฉันไม่ได้ใช้สิ่งเหล่านี้เป็นการส่วนตัว แต่ฉันได้อ่านสิ่งดีๆเกี่ยวกับ GNU Stow

หมายเหตุ: จากโปรไฟล์ของคุณ ดูเหมือนว่าคุณมีความเชี่ยวชาญด้าน git มากกว่าฉันมาก แต่สำหรับฉันแล้ว ดูเหมือนว่า (หากต้องการ) คุณสามารถสร้าง hook เพื่อที่ว่าเมื่อใดก็ตามที่คุณผลักดันการเปลี่ยนแปลงไปยัง repo config บน Git Bash ด้านข้าง มันจะทำงานโดยอัตโนมัติดังนี้:

wsl -e sh -c "git --git-dir=$HOME/.dotfiles ดึง

สิ่งนี้ใช้ wsl คำสั่งใน Windows เพื่อเรียกใช้คำสั่งในอินสแตนซ์ Ubuntu ของคุณ คุณต้องการวิธีเรียกใช้ hook เมื่อคุณยืนยันจาก Git Bash เท่านั้น หรือคุณอาจสามารถเขียนสคริปต์ดังกล่าวได้ คอมไพล์ ใน Git Bash หากกระทำใน WSL/Ubuntu และในทางกลับกัน

หรือว่าอาจจะ overkill / over-architecture ;-)

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา