Linux 如何在拉取后恢复到以前的提交,而不丢失以前的更改?
我用新实现的代码测试了本地端的更改,一切正常。一旦我提交了更改并将这些更改推送到GitHub,我就从Linux上的服务器中的存储库中取出了这些更改。重建服务器失败,因为它遇到错误Linux 如何在拉取后恢复到以前的提交,而不丢失以前的更改?,linux,github,Linux,Github,我用新实现的代码测试了本地端的更改,一切正常。一旦我提交了更改并将这些更改推送到GitHub,我就从Linux上的服务器中的存储库中取出了这些更改。重建服务器失败,因为它遇到错误 如何恢复到上一次拉取而不丢失刚才拉取的更改?您可以通过执行 git复位头~k--soft 其中k是自所需提交之后的提交次数 (使用git log并选择一个特定的提交,如果不想计数,则使用其哈希而不是HEAD~k) 然后你可以对他们做任何你想做的事。例如: 使用git stash将它们隐藏起来 在另一个分支上提交并推送
如何恢复到上一次拉取而不丢失刚才拉取的更改?您可以通过执行
git复位头~k--soft
其中k
是自所需提交之后的提交次数
(使用git log
并选择一个特定的提交,如果不想计数,则使用其哈希而不是HEAD~k
)
然后你可以对他们做任何你想做的事。例如:
- 使用git stash将它们隐藏起来
- 在另一个分支上提交并推送它们,以便您可以在本地工作站上拉取它们并继续处理它们:
通过执行
在服务器上,最后在本地工作站上进行git pull。git checkout -b newBranch git commit git push
(尽管无论如何,您应该在本地工作站上保留它们,至少在拉取之前是这样)
或者,如果您不想更改当前分支,只想构建代码的工作版本,请使用。您可以通过执行
git复位头~k--soft
其中k
是自所需提交之后的提交次数
(使用git log
并选择一个特定的提交,如果不想计数,则使用其哈希而不是HEAD~k
)
然后你可以对他们做任何你想做的事。例如:
- 使用git stash将它们隐藏起来
- 在另一个分支上提交并推送它们,以便您可以在本地工作站上拉取它们并继续处理它们:
通过执行
在服务器上,最后在本地工作站上进行git pull。git checkout -b newBranch git commit git push
(尽管无论如何,您应该在本地工作站上保留它们,至少在拉取之前是这样)
- 您可以通过以下方式获取提交历史记录:
- 然后,您可以使用
- 您可以通过以下方式获取提交历史记录:
- 然后,您可以使用
git checkout 3ef0d...