git - 在 Git 中,您如何查看和管理不在分支中的提交?

标签 git version-control branch

提交不一定在分支中,那么您如何查看和管理这些提交?另外,是否可以从 gitk 查看这些提交?

非常感谢!

PS:为了让事情更清楚,这里有一个例子:

git init
git commit
touch toto
git add toto
git commit -a
echo $RANDOM > toto
git commit -a
git checkout f798e54 #checkout initial commit
echo $RANDOM > toto
git commit -a #"untracked commit"
gitk --all
git branch
git log
git checkout master #back on the main branch
gitk --all #untracked commit is lost?
git log
git branch

我怎样才能取回我的“未跟踪提交”?

最佳答案

这种情况称为 detached HEAD .通常,工具(例如 gitk)不会向您显示无法通过符号分支名称访问的提交。

要取回您的提交,您可以使用 git reflog显示所有最近事件的日志,包括您分离的 HEAD。当您找到它时,您可以使用它的提交 ID 和 git checkout 来返回它。如果您发现它很有值(value),您可能想在此时为该分支命名。

关于git - 在 Git 中,您如何查看和管理不在分支中的提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1361127/

相关文章:

SVN 更新命令以单个外部子文件夹为目标?

android - 如何从 google play store 获取应用市场版本信息?

Git:在本地分支中进行编辑,以推送回远程存储库

git merge 并在一个分支中重命名

git gui - 可以显示 UTF16 吗?

c - 如何在不出现此错误的情况下使用 libgit2 中的 C header ?

git - 如何用git下载一个分支?

svn - 源代码控制依赖项的最佳实践

git - 使用功能、故事和任务分支?

git - 重用 merge 的开发分支/使用 git 重新 merge 到未更改的稳定分支