我一直在使用git-format-patch和git-am将更改从一个存储库应用到另一个存储库.文件结构是相同的,但我应用的存储库中有一些更改,这会导致大多数补丁失败.但是,大多数补丁并不适用于线号中的一点点模糊性.
至于我能说出git-am apply一个非常严格的解释,所以完全拒绝所有这些补丁.
所以我的工作流程已成为
$ git am ../the-patch.patch
# Fails because the patch doesn't apply cleanly
$ patch -p1 < ../the-patch.patch
# Applies most of the hunks, leaves .rej files for the ones that conflict
# Fix the conflicting hunks manually
$ git am --continue
Run Code Online (Sandbox Code Playgroud)
如果我不必运行命令行补丁并且可以将其作为am命令的一部分发生,那将是很好的.
使用该--reject标志运行似乎会创建一个.rej文件,其中包含文件中的所有文件,如果有任何冲突,这不是我想要的.
使用--3way标志运行失败
fatal: sha1 information is lacking or useless (the-file.java).
Repository lacks necessary blobs to fall back on 3-way merge.
Cannot fall back to three-way merge.
Run Code Online (Sandbox Code Playgroud)
我认为是因为这个基于的变更集不在我正在合并的存储库中.
有没有办法 …
我使用git-svn创建了一个SVN存储库的Git Clone.这样做时,我指定了--prefix为远程分支添加前缀的选项.我现在想摆脱这个前缀.
有没有办法更新或删除前缀而无需重新克隆存储库?
基本上我使用了初始克隆,--prefix=Project所以我最终得到了Project/trunk 并Project/feature-branch作为我的远程跟踪分支.我想要的是让trunk刚刚被召唤trunk和feature-branch被召唤svn/feature-branch.
这应该是任何Java Master的简单方法.我是一个新手只是想确认一件事.
我有一个实现Runnable的类,和许多这样的类一样,它的run()方法有一个无限循环.我想做一些任务,然后睡一会儿然后再回来.
如果在线程处于休眠状态时遇到中断异常会发生什么?
我认为会发生的是线程被暂停,现在无限循环无助于保持线程运行.我想确认一下我的理解是否正确.
如果发生了这种情况,那么再次启动线程的可行解决方案是什么?