我有一个 master 分支和一个 working branch_1
. 我想branch_1
完全按原样“移动” master
。所以我想要这样的东西:
git checkout master
git merge branch_1 # I don't know what is correct...
我做过的事情,但我得到了大量的文件,因为烦人的冲突搞砸了。所以现在 master 包含完全相同的文件,branch_1
避免任何冲突,只是覆盖文件。有什么帮助吗?
我有一个 master 分支和一个 working branch_1
. 我想branch_1
完全按原样“移动” master
。所以我想要这样的东西:
git checkout master
git merge branch_1 # I don't know what is correct...
我做过的事情,但我得到了大量的文件,因为烦人的冲突搞砸了。所以现在 master 包含完全相同的文件,branch_1
避免任何冲突,只是覆盖文件。有什么帮助吗?
如果两个分支都对文件进行了更改,就会发生冲突。这是一件好事。 使您的分支彼此保持最新将阻止其中一些分支 。但总的来说,冲突并不坏。rebase 选项还可以防止其中许多情况发生。
git merge branch_1
如果您在master
,合并将按您的预期带来更改。
http://www.kernel.org/pub/software/scm/git/docs/git-merge.html
你也可以
git rebase branch_1
这将在branch_1
没有合并提交的情况下获取更改并将它们附加到 master。
http://www.kernel.org/pub/software/scm/git/docs/git-rebase.html
也许你不应该合并?
或在代码中:
git checkout branch_1
git rebase master
(...)
git checkout master
git rebase branch_1
如果你想让你的变更集更密集,这也让你有机会将多个提交压缩为一个,并防止这些烦人的合并提交出现在你的历史记录中。
我从thenetninja youtube频道获取了这段代码,它对我有用。
git add .
git commit -m "msg"
git checkout master
git merge <non master branch name>
# fix any conflicts and try to run the software to test any error
git add .
# commit w/o any msg, as follows
git commit
git push -u origin master