Java Github覆盖旧项目
我在Github上有一个Java项目,现在我将它改为使用Gradle,并且不得不改变整个项目结构。为此,我创建了一个全新的Java项目,并复制粘贴了代码文件。正如我所期望的,我不能将项目合并到Github上的主分支。有没有办法覆盖旧的主分支?我不需要旧的结构,代码是一样的。我也不希望代码在不同的文件夹重复。我怎样才能解决这个问题 摘要Java Github覆盖旧项目,java,git,github,Java,Git,Github,我在Github上有一个Java项目,现在我将它改为使用Gradle,并且不得不改变整个项目结构。为此,我创建了一个全新的Java项目,并复制粘贴了代码文件。正如我所期望的,我不能将项目合并到Github上的主分支。有没有办法覆盖旧的主分支?我不需要旧的结构,代码是一样的。我也不希望代码在不同的文件夹重复。我怎样才能解决这个问题 摘要 我想用新代码覆盖旧代码,因为这是一个复杂的多项目解决方案,具有共享代码和多平台,如果我只保留新代码并扔掉旧代码,会有很多冲突更容易解决。,假设您在本地存储库中将旧
我想用新代码覆盖旧代码,因为这是一个复杂的多项目解决方案,具有共享代码和多平台,如果我只保留新代码并扔掉旧代码,会有很多冲突更容易解决。,假设您在本地存储库中将旧的主节点作为
主节点
分支,将新的主节点作为新主节点
分支。您希望将新母版
中的更改合并到母版
中,并在发生冲突时始终采用新母版
引入的更改。为此,请执行以下操作:
git签出主机
git merge-X他们的新主机
master
将包含在新master
中所做的所有更改。现在,您只需将master
分支推送到github。您不会丢失任何版本历史记录
来自的-X他们的的说明
如果要删除历史记录并重新使用新存储库,则需要强制将新的本地存储库推送到github存储库
git push --force origin master
另见:
在执行命令之前,请确保了解您正在执行的操作。强制推送到公共存储库通常是个坏主意。特别是,如果您不是唯一的开发人员。这里是我的建议-
从源代码导入旧的主分支
切换分支并将分支命名为“new master”或其他名称
在“新主机”中进行更改
现在在本地计算机上合并新主机和主机
解决冲突
建立它,如果成功的话,推动它
或-
您可以弃用旧的master,这样您也会有更改的历史记录,唯一会更改的是您的原始URI
重命名您的分支-
git branch -m old_branch new_branch
git push origin new_branch
我在一个新的分支中有了新的项目结构(已经在GitHub上)。我想我得先检查一下?谢谢PS:只有我在处理一个私有分支。如果您已经在同一个存储库中进行了更改,您应该将该分支合并到master中。这将改变那里的项目结构。不需要删除项目历史记录。使用git的原因是为了保存历史记录。我不想删除历史记录,但我只是遇到了太多冲突,我认为覆盖旧的东西会更容易。。。保留新的好吧,在这种情况下,我的回答对你没有帮助。我会编辑的。谢谢,我已经做了。我被困在第五步:解决冲突。这就是为什么我认为只覆盖旧的分支可能更容易。有时不赞成覆盖,但如果冲突无法解决,您最好将旧代码核化并强制推送到源代码。确保您的团队成员知道这一点,否则这将是一场灾难,您可能会被解雇。他们知道。我只是在业余时间做我自己的项目,所以我希望我不会被解雇。如果我强制推送它,我是否会在不同的文件夹(旧文件夹和新文件夹结构)中有两个文件(来自新项目和旧项目)?或者只是在新母版中进行更改,并将其作为新分支推送,并将其用作将来分叉的来源,您可以弃用旧母版,这样您也将拥有更改的历史记录,唯一会改变的是您的原始URI。
1) Just make the changes in new master
2) Push it as a new branch
3) Use it as the origin for your future forks.
git branch -m old_branch new_branch
git push origin new_branch