4

所以 - 今天我想做一件好事并重新排列我的存储库中的文件。提交并推送到我的Assembla存储库。

GIT GUI 中的情况

由于我没有使用 git 移动命令,所有文件都丢失了历史记录。我意识到自己的错误,并想摆脱不必要的改变,这样我就可以在之后做出正确的举动。我尝试了这里显示的方法,但我得到了:

$ git push -f origin 49bcfdceb30a1e9cfab0f0e7e39bfa04dc726b78:master
Total 0 (delta 0), reused 0 (delta 0)
remote: error: denying non-fast-forward refs/heads/master (you should pull first)
To git@git.assembla.com:myproject.git
 ! [remote rejected] 49bcfdceb30a1e9cfab0f0e7e39bfa04dc726b78 -> master (non-fast-forward)
error: failed to push some refs to 'git@git.assembla.com:myproject.git'

信息:

% 49bcfdceb30a1e9cfab0f0e7e39bfa04dc726b78 is the one tagged 'beforerearrange'

有关如何解决此问题的任何建议?

4

2 回答 2

13

当被问到时,我不知道它可能与Assembla.

由于这是一次性交易,因此我选择了以下有效的方法:

引用@michael-mior 提到的链接中 Assembla 的最后一条评论(现在已过时,但您仍然可以在回程机器中找到它)在 Git-Settings 页面中现在有一个“允许强制推送”选项,所以

  1. 访问Assembla.com
  2. 转到您的项目 ->源代码/Git -> 设置
  3. 选中复选框“允许 --force push”
  4. 强制推送正确的节点:

    git push -f origin 49bcfdceb30a1e9cfab0f0e7e39bfa04dc726b78:master
    
  5. 清理当地的烂摊子。
  6. 返回Assembla.com并禁用“允许 --force push”

结果:

在此处输入图像描述

于 2012-11-12T14:52:48.917 回答
2

似乎 Assembla 否认强制推动。(此线程建议您必须联系支持人员。)

因为它只是几个提交,你最好的选择可能只是用来git revert依次撤消它们。

于 2012-11-12T14:04:37.677 回答