我有两个Git分支master
和develop
。由于各种原因,我的develop
分支混乱了,我希望将所有文件从master
到develop
。我知道这不是正确的解决方案,但这是我所做的:
git checkout master
cd ..
cp repo repo_master
cd repo
git checkout develop
cp -r ../repo_master/* .
奇怪的是,将我的文件(应该是master
的版本)复制到我的仓库中后,运行
git diff
不显示任何内容。我不明白甚至更奇怪的是,跑步
git diff master develop
有很多差异。
我在做什么错?另外,我该怎么办?
答案 0 :(得分:2)
如果您不需要在开发中保留任何更改:
git branch -d develop
将使用其内容删除开发分支。
git checkout -b develop
将当前分支(在您的情况下为主节点)的副本复制到名为dev的新分支。
或者如果您需要在开发中保留任何内容:
git checkout develop
git merge master --no-ff
然后解决冲突(如果有)。
答案 1 :(得分:1)
git checkout develop
git reset master
这将重置您的develop分支,使其与master分支完全匹配。专门针对developer分支的所有提交都将被删除。
答案 2 :(得分:0)
git checkout develop
git checkout master -- .
第二条命令将所有文件从分支master
复制到当前工作树和索引。使用git diff --cached
进行验证并提交。
答案 3 :(得分:0)
您可以通过使用
撤消合并git rebase -i --commiter-date-is-author-date HEAD~50
并删除提交列表底部的行。直到您达到合并之前的最后一次提交。 保存并退出文件。
再次检查您的最新提交,以确保其正确通过
git log -n 10 --oneline
然后最后覆盖您的遥控器
git push origin -f