在使用git时,我倾向于使用大量“高级”功能在推送到远程设备之前重写和重新组织本地历史记录。我经常用来改变当前分支指向的提交的命令是git reset --hard <commit>
。不幸的是,这个命令在你的本地目录中有未提交的更改运行时会有一些潜在的不良影响。由于这个功能,我失去了工作(虽然通常不多,但往往会经常犯)。移动分支指针比`git reset --hard`更安全吗?
是否有替代git reset --hard
更改提交我的当前分支指向,当我有我的工作目录中未提交的更改不会导致数据丢失? (理想情况下,我希望像git checkout
这改变了我当前分支指针而不是改变HEAD的。)
Git的v1.7.3版本说明 ... “混帐结账-B” 是说 “混帐分支-f ” 其次是 “混帐结账” –
@UweGeuder无论是发行说明一个较短的方式不完整的,那么,或者在稍后的版本中放松。如果你在分支'master'上,'git branch -f master'是一个错误(“致命的:不能强制更新当前分支”),但是'git checkout -B master '确实有效。我已经用Git 1.9.4测试过了。 – hvd
这几乎是完美的。我没有意识到'git checkout'的选项。现在我只需要编写一个处理“当前分支”填充的别名,所以我不必每次都输入它。谢谢你的帮助。 ;-) – Ajedi32