[英]Git: How to see unpushed commits (or all commits) in your local branch is you do not have a set upstream?
[英]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.