Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.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分支&x27;另一个分支的最新代码相同吗?_Git - Fatal编程技术网

如何创建git分支&x27;另一个分支的最新代码相同吗?

如何创建git分支&x27;另一个分支的最新代码相同吗?,git,Git,例如,我有分支dev和master。现在它们在代码和一些二进制文件上有所不同。我想使分支开发人员的最后一次提交与主分支的最后一次提交完全相同。怎么做 我的方法是: git diff dev master --binary > 1.patch git checkout dev git apply 1.patch 还有其他简单的方法吗?分支只是指针,您可以对它们设置任何引用 git branch -f dev master 这意味着他们以后会有完全相同的历史。(作为旁注,在移动这个分支之前

例如,我有分支dev和master。现在它们在代码和一些二进制文件上有所不同。我想使分支开发人员的最后一次提交与主分支的最后一次提交完全相同。怎么做

我的方法是:

git diff dev master --binary > 1.patch
git checkout dev
git apply 1.patch

还有其他简单的方法吗?

分支只是指针,您可以对它们设置任何引用

git branch -f dev master
这意味着他们以后会有完全相同的历史。(作为旁注,在移动这个分支之前,只需签出另一个分支,否则git会抱怨)


同样,如果您需要保留
dev
中未在
master
上的所有内容,这是的方法。ElpieKay的第二个解决方案将很有魅力。

如果您不介意失去dev自己的历史

git checkout dev
git reset master --hard
git checkout dev
git merge $(git commit-tree -p HEAD -m "xxx" master^{tree})
# edit the commit message
git commit --amend
它使
dev
指向
master
的头部

如果您想保留
dev
自己的历史记录

git checkout dev
git reset master --hard
git checkout dev
git merge $(git commit-tree -p HEAD -m "xxx" master^{tree})
# edit the commit message
git commit --amend

它会在
dev
上创建一个提交,提交的代码与
master

是否要将master合并到dev?@ParthS007不合并。合并结果是主分支的代码合并到开发分支中。但这两个分支可能并不完全相同。