将diff转换为提交

The*_*tan 2 git

我的回购中有一些未经分级的更改.终端输出:

--- a/app/something.java
+++ b/app/something.java
@@ -37,13 +37,17 @@ public class SomeController extends Controller{
                requestVo.setJobName("temp1");
                requestVo.setJobGroup("g1");
                requestVo.setJobInfo(JobInfo.INFO);
-               requestVo.setJobExecutionType(JobExecutionType.IMMEDIATE);
-               requestVo.setExecutionTime(new Date());
+               requestVo.setJobExecutionType(JobExecutionType.TIMED);
+               requestVo.setExecutionTime(getExecutionTime(3600*1000l));
                requestVo.setJobData("testing 123");
        }

+       private Date getExecutionTime(long delay) {
+               return new Date(System.currentTimeMillis() + delay);
+       }
+

...
Run Code Online (Sandbox Code Playgroud)

然后我继续前进git reset --hard HEAD,所以我失去了我的改变.有没有办法取回这些变化?或者将我的更改作为提交从终端应用?

Von*_*onC 5

如果您仍然拥有您的完整输出git diff,如问题中显示的摘录所示,您可以尝试:

  • 选择并将此git diff输出复制粘贴到文件中diff.patch.
  • 在您的(重置)源上应用该补丁

那是:

git apply save.patch
# or
patch -p1 < save.patch
Run Code Online (Sandbox Code Playgroud)

注意:git apply此处首选,因为git diff输出一行文件重命名,输出patch将忽略.

如果你没有那个完整的差异输出...那么以前的答案/评论适用.