Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Github覆盖旧项目_Java_Git_Github - Fatal编程技术网

Java Github覆盖旧项目

Java Github覆盖旧项目,java,git,github,Java,Git,Github,我在Github上有一个Java项目,现在我将它改为使用Gradle,并且不得不改变整个项目结构。为此,我创建了一个全新的Java项目,并复制粘贴了代码文件。正如我所期望的,我不能将项目合并到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