Score:1

การใช้ git และ github เพื่อแชร์เนื้อหาโฟลเดอร์ที่ต้องอัปเดตทุกวัน

ธง ng

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

นี่คือรหัสที่ฉันวางแผนที่จะใช้ แต่ฉันมีข้อสงสัยเกี่ยวกับไฟล์ที่ถูกลบในเครื่อง (ไม่ว่าจะครอบคลุมหรือไม่)ââï¸:

ซีดี ~/myfolder
เริ่มต้นคอมไพล์
คอมไพล์เพิ่ม .
git กระทำ -a -m "$current_date"

ขอขอบคุณ.

Score:0
ธง jp

โค้ดนั้นเกือบจะถูกต้องแล้วสำหรับการตั้งค่าเริ่มต้นของที่เก็บของคุณ มีขั้นตอนเพิ่มเติมอีกสองสามขั้นตอนที่คุณต้องเพิ่มในตอนท้าย:

git branch -M หลัก
git remote add origin [email protected]:username/repository-name.git #Edit this เพื่อให้ตรงกับ Github repo ของคุณ
git push -u กำเนิดหลัก

บรรทัดแรกที่ฉันได้เพิ่มตั้งค่าสาขาในคอมไพล์ (สาขาเริ่มต้นของ Github คือ หลัก) บรรทัดที่สองตั้งต้นทางระยะไกล และบรรทัดสุดท้ายผลักโฟลเดอร์ของคุณไปที่ Github

สคริปต์ที่คุณเรียกจาก crontab ควรมีลักษณะดังนี้:

ซีดี ~/myfolder
คอมไพล์เพิ่ม .
git กระทำ -a -m "$current_date"
คอมไพล์กด

สมมติว่าคุณตั้งชื่อมัน อัพโหลด script.shนี่คือรายการ crontab ซึ่งจะทำงานทุกนาที (crontab ช่วงเวลาที่เร็วที่สุดอนุญาต) โดยไม่มีเอาต์พุต:

* * * * * ~/upload-script.sh >/dev/null 2>&1

ฉันไม่แน่ใจว่าคุณสามารถ จำกัด อัตราโดย Github ได้หรือไม่ ดังนั้นคุณอาจต้องลดความเร็วของการพุช คุณสามารถสร้างรายการ crontab โดยใช้ ตัวสร้าง crontab หากเป็นกรณีนี้

และสำหรับการอ้างอิง นี่คือเอกสารประกอบของ Github เกี่ยวกับวิธีตั้งค่าพื้นที่เก็บข้อมูลระยะไกล (มีประโยชน์สำหรับการดีบักปัญหาคอมไพล์): https://docs.github.com/en/get-started/using-git/pushing-commits-to-a-remote-repository

หวังว่านี่จะช่วยได้ :)

Ra Spirit avatar
ng flag
ขอบคุณมากสำหรับคำตอบโดยรวมของคุณ ฉันสังเกตว่าโฟลเดอร์ .git นั้นใช้พื้นที่มาก ฉันทำการค้นคว้าและพบคำสั่งอีก 2 คำสั่งเพื่อลดขนาดของโฟลเดอร์ซึ่งก็คือ: `git fsck` `คอมไพล์ลูกพรุน` คำถามของฉันคือฉันควรใช้หรือไม่ อย่างที่ฉันบอกว่าฉันไม่ต้องการประวัติของไฟล์ นอกจากนี้ จะดีมากหากมีวิธีรับที่เก็บโดยไม่มีโฟลเดอร์ .git หรือมีขนาดต่ำสุด แน่นอน ฉันสามารถลบโฟลเดอร์ได้ในภายหลัง แต่ฉันกังวลเกี่ยวกับแบนด์วิธที่ฉันต้องการบันทึก ขอขอบคุณ!
Ra Spirit avatar
ng flag
มันสมเหตุสมผลไหมที่จะสร้างรหัสเช่นนั้น: `ซีดี ~/โฟลเดอร์ของฉัน; คอมไพล์ fsck; ลูกพรุนคอมไพล์; คอมไพล์เพิ่ม .; git กระทำ -a -m "$current_date"; คอมไพล์ push''
Pranav Sharma avatar
jp flag
จริงๆ แล้ว หากคุณไม่ต้องการประวัติ ก็มีวิธีอื่นที่ดีกว่า Git (เช่น ที่เก็บข้อมูลบนคลาวด์ บริการ localexpose) แต่การเปลี่ยนแปลงของคุณควรลดขนาด .git ให้เหลือน้อยที่สุด นอกจากนี้ Git จะไม่อัปโหลด repo ทั้งหมดทุกครั้งที่คุณพุช เฉพาะไฟล์ที่มีการเปลี่ยนแปลงตั้งแต่การพุชครั้งล่าสุด (ดูคำถามนี้ใน SO: https://stackoverflow.com/questions/26005031/what-does-git -push-do-ตรง ).
Pranav Sharma avatar
jp flag
นอกจากนี้ ฉันสังเกตเห็นว่าคุณยังค่อนข้างใหม่สำหรับ SE ยินดีต้อนรับ :) หากคำตอบของฉันตอบสนองสิ่งที่คุณต้องการ โปรดยอมรับเพื่อให้คนอื่นๆ เห็นว่าอะไรช่วยคุณได้บ้าง

โพสต์คำตอบ

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