我是Git的新手并且陷入了无论是否犯下的境地。所以这可能是一个基本问题。我试图找到很多关于这一点,但没有找到任何特定于我的关注的答案。所以问这里。
我的分支机构有15个提交。现在我因为一个问题重置了我的第一次提交。 然后我做了更改,涵盖了所有提交的更改。
现在我的问题是我可以直接提交更改吗?它会被保存在其他提交的顶部吗?其他承诺及其历史将会发生什么。我是否需要删除历史记录? 或者我只需要提交更改,我的分支将准备合并? 或者,在我标记最终提交之前是否还有其他步骤?
答案 0 :(得分:2)
重置分支时,它会移动分支指针而不更改您的提交。你离开了:
first commit branch name
| |
* -- * -- * -- * -- * ... * -- * -- *
到此:
branch name
first commit
|
* -- * -- * -- * -- * -- * -- * -- * ...
你所有的其他提交仍然存在,但你不再依赖它们了。您可以提交更改。它将根据您的第一次提交进行新的单独提交。像这样:
first commit
|
* -- * -- * -- * -- * -- * -- * -- * ...
\ branch name
\|
*
答案 1 :(得分:0)
根据您在mkasberg的回答中的评论,听起来您重置的提交已经已被推送到远程存储库。如果是这种情况,那么重置为先前的提交并不是解决问题的正确方法。
我建议将当前状态下的所有文件的副本保存到工作副本之外的位置。然后,重置您的工作副本,以便再次包含所有这15个提交。然后使用您创建的备份覆盖您的工作副本,并提交。