撤销操作

追加提交文件或更改提交信息

在任何时刻,你都有可能想撤销之前的操作。有些撤销操作是不可逆的。请务必当心。

有一种撤销操作的常见使用场景是提交之后才发现自己忘了添加某些文件,或者写错了提交信息。如果这时你想重新尝试提交,可以使用--amend选项

$ git commit --amend

上述命令会提交暂存区的内容。如果你在上次提交之后并没有做出任何改动,那么你的提交快照就不会有变化,但你可以改动提交信息。

举例,如果你提交后才发现忘记添加了某个更改过的文件,可以执行下面的操作

$ git commit -m "..."
$ git add forgotten_file
$ git commit --amend

最终只是产生了一个提交,因为第二个提交命令修正了第一个提交的结果。

撤销已暂存的文件

如果你更改了两个文件a.txt和b.txt,想要分两次提交,但不小心输入了git add *,把这两个文件都添加到了暂存区。这时,如何将它们从暂存区移出呢?其实git status命令给了你一些提示

$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        modified:   a.txt
        modified:   b.txt

它提示你使用git reset HEAD ...命令把文件移出暂存区。

$ git reset HEAD b.txt
Unstaged changes after reset:
M       b.txt

再次查看,可以看到b.txt被移出了暂存区

$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        modified:   a.txt

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   b.txt

撤销对文件的修改

如果你突然不想要b.txt的更改了(即想把他还原到上次提交时的状态),怎么办?其实git status也给出了答案。使用git checkout -- ...命令

$ git checkout -- b.txt

再打开b.txt,则已经被还原到上一次提交时的状态了。

转载于:https://www.cnblogs.com/velscode/p/10596598.html

Java中可以通过使用UndoManager类来实现撤销操作。其基本用法如下: 1. 创建一个UndoableEditSupport对象。 2. 创建一个UndoManager对象,并将其添加到UndoableEditSupport中。 3. 实现一个UndoableEdit子类,该类表示一个可撤销的编辑操作。 4. 在需要进行撤销操作中,创建一个UndoableEdit对象,并将其添加到UndoManager中。 5. 调用UndoManager的undo方法进行撤销操作,调用redo方法进行重做操作。 下面是一个简单的示例代码: ``` import javax.swing.undo.*; public class UndoDemo { public static void main(String[] args) { UndoableEditSupport undoSupport = new UndoableEditSupport(); UndoManager undoManager = new UndoManager(); undoSupport.addUndoableEditListener(undoManager); // 创建一个可撤销的编辑操作 UndoableEdit edit = new AbstractUndoableEdit() { public void undo() throws CannotUndoException { System.out.println("撤销操作"); } public void redo() throws CannotRedoException { System.out.println("重做操作"); } }; // 将编辑操作添加到UndoManager中 undoManager.addEdit(edit); // 进行撤销操作 if (undoManager.canUndo()) { undoManager.undo(); } // 进行重做操作 if (undoManager.canRedo()) { undoManager.redo(); } } } ``` 这个示例代码中,我们创建了一个UndoableEditSupport对象和一个UndoManager对象,并将UndoManager添加到了UndoableEditSupport中。然后,我们创建了一个可撤销的编辑操作,并将其添加到UndoManager中。最后,我们调用UndoManager的undo和redo方法进行撤销和重做操作
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值