การกำหนดเวอร์ชันไฟล์อย่างง่ายด้วย Git


0

ฉันต้องการใช้ git เพื่อเก็บประวัติการเปลี่ยนแปลงของไฟล์ข้อความบางอย่าง (แหล่งที่มา แต่อาจเป็นไฟล์กำหนดค่าหรืออะไรก็ได้ - Q ไม่ใช่เฉพาะการพัฒนา s / w)

ฉันเคยใช้ RCS สำหรับสิ่งนี้ซึ่งง่ายเหมือนการมีงานที่วิ่งทุกวันซึ่งพบไฟล์ข้อความที่เกี่ยวข้องทั้งหมด (เช่น cd /some/where; find . -name "*.foo" ... ) และตรวจสอบพวกเขาทั้งหมดใน (บางอย่างเช่น ci -q -mbackup -l filename ) - ci เป็นหลักไม่ทำอะไรเลยถ้าไฟล์ไม่เปลี่ยนแปลง เวอร์ชันเก่า (หรือมากกว่านั้นแตกต่างอย่างถูกต้องซึ่งเวอร์ชันเก่าสามารถสร้างขึ้นใหม่ได้โดย rcs) ถูกเก็บไว้ในไดเรกทอรี RCS ในระบบไฟล์ / ดิสก์ภายในเครื่อง

ในเวลาต่อมาฉันสามารถวิ่งได้ rlog filename เพื่อดูวันที่มีการเปลี่ยนแปลงไฟล์ที่น่าสนใจและจำนวนบรรทัดที่เปลี่ยนแปลง ฉันสามารถใช้ rcsdiff เพื่อดูการเปลี่ยนแปลงที่ถูกต้องหากจำเป็น ฉันสามารถใช้ co เพื่อย้อนกลับการเปลี่ยนแปลง

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

ฉันติดตั้งคอมไพล์แล้วใน Windows 10 (เนื่องจาก golang ใช้ git เพื่อดึงข้อมูลไลบรารี ฯลฯ ฉันไม่ได้ใช้ git โดยตรง) ดังนั้น ...

มี ง่าย วิธีการใช้คอมไพล์ในแบบง่าย ๆ ที่คล้ายกัน?

คำตอบ:


2

แน่ใจ คุณจะต้องมีสคริปต์บางอย่างที่ cd เข้ามา /some/whereแล้วรันบางสิ่งตามแนวของ

git add .
git commit -m "some message"

จากนั้นคุณสามารถใช้ git log $filename เพื่อดูประวัติ git log จะไม่แสดงให้คุณเห็นตัวเลขที่เปลี่ยนไป แต่คุณสามารถสคริปต์การสร้างข้อความยืนยันของคุณเพื่อแสดงถึงสิ่งนั้นได้ และ git diff เพื่อแสดงการเปลี่ยนแปลงที่แน่นอนและ git revert เพื่อย้อนกลับ


1

ครอบคลุมรายการเทียบเท่าที่เรียบง่ายของคำถามของคุณและสมมติว่าคุณมีไฟล์ที่น่าสนใจทั้งหมดภายใต้ /some/where

การเริ่มต้นครั้งเดียว:

cd /some/where
git init

กระทำทั้งหมด foo ไฟล์ที่เปลี่ยนตั้งแต่การส่งครั้งล่าสุด:

cd /some/where
git add "*.foo"
git commit -m "commit message about today's foo files"

แสดงรายการล่าสุดสามคอมมิตของไฟล์เฉพาะด้วยสถิติสรุป:

cd /some/where/else
git log -3 --shortstat alphabet.foo

ให้สองกระทำการแฮชจาก git log เอาท์พุทดูความแตกต่างระหว่างพวกเขา

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