คำถามติดแท็ก undo

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

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

11
ยกเลิกการรีเซ็ตคอมไพล์ - ฮาร์ดด้วยไฟล์ที่ไม่ได้กำหนดไว้ในพื้นที่การจัดเตรียม
ฉันกำลังพยายามกู้คืนงานของฉัน ฉันโง่ได้git reset --hardแต่ก่อนที่ผมเคยทำเท่านั้นและไม่ได้ทำget add . git commitกรุณาช่วย! นี่คือบันทึกของฉัน: MacBookPro:api user$ git status # On branch master # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # modified: .gitignore ... MacBookPro:api user$ git reset --hard HEAD is now at ff546fa added new strucuture for api เป็นไปได้ไหมที่จะเลิกทำgit …

6
วิธีย้อนกลับ (ctrl + z) ใน vi / vim
ในโปรแกรมแก้ไขข้อความปกติ [เกี่ยวกับ Vim] มีทางลัดCtrl+ Zเมื่อคุณทำสิ่งที่น่ารังเกียจและต้องการกลับไปใช้ข้อความเวอร์ชันก่อนหน้า ชอบปุ่มย้อนกลับใน Word ฉันสงสัยว่าคุณจะบรรลุพฤติกรรมนี้ใน Vim ได้อย่างไร
108 vim  vi  back  undo  undo-redo 

3
ยกเลิกการกระทำใน TortoiseSVN
ฉันตกลงไฟล์จำนวนมาก (หลายสิบไฟล์ในโฟลเดอร์ต่างๆ) โดยบังเอิญ อะไรคือวิธีที่ง่ายที่สุดสะอาดที่สุด (และปลอดภัยที่สุด!) ในการ 'เลิกทำ' ที่คอมมิตโดยไม่ต้องลบไฟล์ออกจากไดเร็กทอรีการทำงานของฉัน
99 svn  tortoisesvn  undo 

10
มีวิธีการกู้คืนจาก "svn revert" โดยบังเอิญหรือไม่?
เมื่อเช้านี้ฉันสามารถยิงตัวเองได้ด้วยการทำสิ่งต่อไปนี้: เริ่มดำเนินการเปลี่ยนแปลงโครงการของฉัน ทำการแก้ไขหลายไฟล์หลายไฟล์ ตระหนักว่าแนวทางของฉันผิดทั้งหมดและฉันต้องเริ่มต้นใหม่ cd ไปที่ระดับบนสุดของโปรเจ็กต์ของฉันและทำ "svn --recursive revert" เพื่อกู้คืนแซนด์บ็อกซ์ในเครื่องของฉันกลับสู่สถานะก่อนการเปลี่ยนแปลง ร้องโหยหวนด้วยความสยดสยองเมื่อฉันตระหนักว่ามีการเปลี่ยนแปลงอื่น ๆ อีกมากมายที่ค้างอยู่ในแซนด์บ็อกซ์ในพื้นที่ของฉันและฉันเพิ่งลบมันไปทั้งหมด (เซิร์ฟเวอร์ svn หยุดทำงานเมื่อวันศุกร์ที่แล้วดังนั้นฉันจึงไม่สามารถเช็คอินได้และฉันก็ลืมพวกเขาไปในช่วงสุดสัปดาห์) โชคดีในกรณีนี้ฉันได้ทำการ "svn diff> temp.txt" ก่อนออกจากงานในวันศุกร์และไฟล์ temp.txt ยังอยู่ในฮาร์ดไดรฟ์ของฉันดังนั้นฉันจึงสามารถป้อนไฟล์นั้นลงใน "โปรแกรมแก้ไข" และกู้คืน การเปลี่ยนแปลงที่หายไป แต่สำหรับการอ้างอิงในอนาคตของฉัน (เช่นในครั้งต่อไปที่ฉันทำผิดพลาดแบบเดิม ๆ ) ... มีวิธีใดที่จะบอกให้ svn เลิกทำการ "svn revert" ได้หรือไม่? svn เก็บข้อมูลสำรองของเครื่องใน / ไม่ได้เช็คอินแตกต่างจากที่ใดหรือไม่
97 svn  undo  revert 

5
ใช้การเลิกทำถาวรของ Vim หรือไม่
คุณลักษณะใหม่อย่างหนึ่งใน Vim 7.3 คือ 'เลิกทำถาวร' ซึ่งช่วยให้สามารถบันทึก undotree ลงในไฟล์ได้เมื่อออกจากบัฟเฟอร์ ขออภัยฉันไม่สามารถเปิดใช้งานได้อย่างถูกต้องหรือต้องใช้ผิด นี่คือสิ่งที่ฉันได้ลองทำแล้ว: ฉันเพิ่มสิ่งต่อไปนี้ใน ~ / .vimrc set undofile " Save undos after file closes set undodir=$HOME/.vim/undo " where to save undo histories set undolevels=1000 " How many undos set undoreload=10000 " number of lines to save for undo หลังจากนี้ฉันควรจะสามารถเปิดไฟล์ใดก็ได้แก้ไขแล้วบันทึก - ปิดและเมื่อฉันเปิดอีกครั้งฉันควรจะสามารถเลิกทำ / …
96 vim  undo  undo-redo 

2
จะยกเลิกการผสาน Mercurial ได้อย่างไร?
ฉันเกลียดการผสาน ฉันต้องการเปลี่ยนกลับแล้วลองอีกครั้ง มีวิธียกเลิกการผสานก่อนที่จะทำการคอมมิตหรือไม่? hg revertไม่ทำในสิ่งที่ฉันต้องการ แต่จะเปลี่ยนข้อความของไฟล์เท่านั้น Mercurial ยกเลิกความพยายามครั้งที่สองของฉันในการรวมและบ่นว่าการผสานดั้งเดิมยังคงไม่มีข้อผูกมัด มีวิธียกเลิกการผสานหลังจากhg mergeคำสั่ง แต่ก่อนที่จะคอมมิตหรือไม่?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.