Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.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
无法在Git中将版本2合并到版本1_Git_Version Control_Merge - Fatal编程技术网

无法在Git中将版本2合并到版本1

无法在Git中将版本2合并到版本1,git,version-control,merge,Git,Version Control,Merge,我有两个文件叫做 版本1 版本2 版本1有我自己的更改,而版本2基于版本1,但也有其他人的更改 我在我的Git文件夹中运行以下命令,其中Version1是 git add version2 我现在在Git中有两个独立的文件。我现在想把它们合起来 我应该运行哪个命令以便只有版本2和版本1的历史记录 也许我没有完全理解您,但听起来您应该添加“version1”,然后打开“version2”,然后将整个文件复制到“version1”,覆盖其中的内容。然后删除“version2”。实现所描述内容的最佳

我有两个文件叫做

  • 版本1
  • 版本2
  • 版本1有我自己的更改,而版本2基于版本1,但也有其他人的更改

    我在我的Git文件夹中运行以下命令,其中Version1是

    git add version2
    
    我现在在Git中有两个独立的文件。我现在想把它们合起来


    我应该运行哪个命令以便只有版本2和版本1的历史记录

    也许我没有完全理解您,但听起来您应该添加“version1”,然后打开“version2”,然后将整个文件复制到“version1”,覆盖其中的内容。然后删除“version2”。

    实现所描述内容的最佳方法是进入并更改版本1及其所有更改,然后运行

    git commit -a -m "incorporated others changes into Version1"
    
    这样Git将跟踪这些更改并创建两个版本的Version1,一个是原始版本,另一个是有更改的版本

    如果您想要更多的分离,我会创建一个分支,因为在Git中分支非常容易

    你可以在一个主分支或原始分支上保存原件,然后在另一个分支上保存更改

    它看起来像这样

    $> mkdir src
    $> cd src && git init .
    $> touch Version1 && touch Version2
    $> git add . && git commit -a -m "initial commit"
    $> git checkout -b changes # this creates a branch called changes
    # Make changes to the files
    $> git commit -a -m "made some changes"
    $> git checkout -b master  # back to your master branch.
    

    希望这有帮助。

    谢谢您的回答!简单的解决方案是最好的解决方案:)@ewakened:你的回答提出了一个新问题。假设我们有两个分支Version1和Version2changes。我们是否可以使用rebase命令创建一个新分支,以便获得Version2changes中的更改例如,通过$git rebase Version1 Version2更改Version2。