这是故事
fts
origin/fts
的分支
fts
做了一些提交(没有推送)日志看起来像那样(没有一些提交)
$ git log --pretty=oneline --abbrev-commit --decorate --all --graph -10
* 3e39eeb (HEAD) That should be pushed as origin/fts
| * f38e892 (fts) That cannot be pushed
|/
* 84fa79a (origin/fts) Commit i got from remote
我该怎么办
fts
(f38e892)的提交推送到远程。 private-fts
fts
移至当前已分离的HEAD(3e39eeb),无任何包含来自当前fts
的提交的重新定位或合并。fts
(成为origin/fts
)。private-fts
时,也可以从本地回购中删除它。 答案 0 :(得分:1)
我会做以下事情:
private-fts
分行结帐至fts
。 git checkout -b private-fts
,因此您当前的所有代码都将保存在private-fts
分支。fts
分支。 git branch -D fts
private-fts
分支。origin/fts
fts
分支。 git checkout -b fts
现在,您所需的所有代码都位于fts
分支中,而private-fts
中的不幸代码
答案 1 :(得分:1)
首先,您要使用以下命令将fts
分支重命名为private-fts
:
git branch fts -m private-fts
现在,在fts
3e39eeb
分支
git checkout 3e39eeb -b fts
Push&将新的fts
分支与原始关联:
git push --set-upstream origin fts
一旦您准备完全删除private-fts
,请执行以下操作:
git branch -D private-fts
答案 2 :(得分:0)
如果您想将本地fts
重置回origin/fts
中的内容,则可以对原始提交进行硬重置。
git reset --hard origin/fts