繁体   English   中英

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

[英]In Git, how do you see and manage commits that aren't in a 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

我怎样才能得到“未跟踪的提交”?

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

要获得提交,您可以使用git reflog显示所有最近活动的日志,包括已分离的HEAD。 当你找到它时,你可以使用它的提交ID与git checkout来回到它。 如果您发现它很有价值,那么您可能希望在该点为该分支命名。

难道你在谈论git fsck --unreachable吗?

git reflog将显示一个符号名称,如HEAD@{0} ,您可以使用它来访问该无法访问的提交。 然后,您可以使用gitk --all HEAD@{0}来查看它在存储库中的位置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM