Git合并但重写所有内容
假设我有一个名为Git合并但重写所有内容,git,merge,branch,git-merge,branching-and-merging,Git,Merge,Branch,Git Merge,Branching And Merging,假设我有一个名为test的分支和一个名为master的分支。是否可以执行git merge以使主分支具有来自test的更改,但重写整个文件 据我所知,merge试图创建一个包含两个分支的文件。合并后,是否可以使主分支上的文件(例如index.html)与test分支上的文件完全相同?您可以从另一个分支签出文件并将其提交给主分支,而不是执行合并: git checkout master # Make sure you are on master git checkout
test
的分支和一个名为master
的分支。是否可以执行git merge
以使主分支具有来自test
的更改,但重写整个文件
据我所知,merge试图创建一个包含两个分支的文件。合并后,是否可以使主分支上的文件(例如
index.html
)与test
分支上的文件完全相同?您可以从另一个分支签出文件并将其提交给主分支,而不是执行合并:
git checkout master # Make sure you are on master
git checkout test -- index.html # Get the file from test branch
git commit # Commit the file and write a nice message
因此,您可以清楚地看到从master
版本更改的内容,并且不需要将master设置为旧版本
将master重命名为其他版本
git签出主机
git签出-b master_old
将dev分支更改为master
git签出开发分支
git分支-f主机
然后,一旦您进行了测试,您就可以清理无用的分支:)
git branch-d dev_branch
在删除master_old之前,请注意,有些同事可能有一些工作要做您假设master的所有更改都是无效的interest@jo_我会先创建一个master分支,名为
masterold
或其他什么东西,但是如果我想保留两个分支的提交历史呢?在这个场景中,分支是我一直在并行开发的两种完全不同的策略。那么,做一个正常的合并,然后进行这个签出怎么样?但这会在我的最终文档中留下两个代码的位吗?