我开始使用项目的全新版本。我在IDE中创建了一个新项目,做了git init
,然后添加了遥控器。但是,现在我想在不破坏当前历史记录的情况下提交此命令,因此git push --force
不是一个选择。是否可以仅通过推送新的提交来替换远程上的旧项目?
答案 0 :(得分:0)
听起来像您想将存储库拉入一个干净的文件夹,删除所有内容并添加新代码:
git clone <your_remote> <optional directory name>
cd <cloned dir>
git rm -r *
cp -r /path/to/new/code/* .
git add .
git commit -m"Redid everything!"
git push
如果确定一切正常,则可以删除新代码的副本。 我认为一个更好的主意,如果您想将两个修订都放在同一位置,则从初始提交分支(在您将CD克隆到克隆目录之后):
git checkout <first empty commit>
git checkout -B my_redo_version
然后从cp
行继续。这样做的好处还在于,您可以使用init
创建的现有文件夹-只需存放代码,拉出master分支,签出第一次提交,分支并弹出即可。