通过提交到其初始状态来重置分支

时间:2018-05-04 09:09:43

标签: git

说我在基于开发分支创建的分支xyz上。我想摆脱我的所有更改(包括提交和推送的更改)并使xyz分支的状态与开发分支相同,例如我不想要对xyz做过任何修改。

我尝试了git reset --hard origin/development之后git clean -f -d,但它没有做到这一点。

修改

git status说:

  

分支SVP-xyz   你的分支和&origin; / xyz'有分歧,   并分别有8个和2个不同的提交。     (使用" git pull"将远程分支合并到你的分支中)   无需提交,工作目录清理

1 个答案:

答案 0 :(得分:1)

由于xyz分支已经处于远程状态,我无法在不重写历史记录的情况下重置其中的更改(当然,不建议这样做)。

因此,我要删除本地和远程xyz分支,然后从dev分支重新创建它们:

  1. 结帐到dev或任何其他分支(基本上远离xyz):

    git checkout master
    
  2. 删除本地和远程xyz分支:

    git push -d origin xyz
    git branch -d xyz
    
  3. xyz分支创建新的分支dev分支:

    git checkout -b xyz dev
    
  4. 将您的新xyz分支推送到远程(如果需要):

    git push -u origin xyz