在处理某些文件时,我为每个文件创建了一个备份文件,但是在推送和重新定位之前我忘记删除它们。我已经多次承诺,但还没推迟。
以下是我的步骤:
git add -A
git commit -m <message>
git checkout master
git pull upstream master
git push
git checkout "branch"
git rebase master
我当前的分支机构不再拥有备份文件了。用我更新的分支来推送和修改master是不够的?
答案 0 :(得分:2)
您可以做的是进行软重置,删除文件,然后提交并推送。
git log
查找提交的哈希值
git reset --soft <hash>
(插入提交的哈希值)删除所有不需要的文件
分阶段并提交所有文件。
然而,这会将您对分支所做的所有提交压缩到单个提交。如果这对你来说是可以接受的,那么这就是你所需要的。如果您希望保留所有提交历史记录,那么您可以在添加文件之前创建新分支,然后选择您添加文件的提交,但在进行提交之前删除不需要的文件,然后提交只是你想要更新的文件。执行此操作后,您可以选择任何其他提交到该分支,然后再推送。
答案 1 :(得分:1)
如果您推送了提交,那么您可以直接删除文件,然后执行:
git add .
git commit --amend --no-edit
git push origin <your branch name> -f
这将推送更改而不生成新的提交。