Git 缺少提交
Git missing commits
我是 git 的新手,偶然发现了一个奇怪的问题
所以我对我的本地存储库做了一些提交,并使用 git 日志查看它们,它工作正常。
一段时间后,我检查了一个较旧的提交,后来我想跳回到我最新的提交以继续我的工作。所以我做了另一个 git 日志。
但是现在没有显示最新的 3-4 次提交。
输入 'git checkout master' 使我进入第二个日志命令的最新提交,但没有进入我描述的第一个命令的提交。
这是一个问题还是我必须键入另一个命令才能返回到最新提交?
我希望我的问题是可以理解的。
我按正确顺序输入的所有命令:
Git 添加 public/
Git commit -m “Fo“
(这里没有错误)
Git 日志 --oneline.
输出:8 次提交。
Git 签出“旧提交的 id”
Git 日志 --oneline.
输出:4 次提交
我认为没有人明白您的确切要求,但我认为您可能已经隐藏了您的更改。
类型:
git stash list
那里显示什么,有资料吗?
如果有这样的事情
stash@{0}: WIP on master: 049d078 added the index file
您可以输入:
git stash apply // for the last stash to be applied
git stash apply stash@{1} // for the second from last stash
另外,你可以试试:
git stash pop // apply the stash and then immediately drop it from your stack
以上两者的区别在于 pop 会丢弃堆栈中的存储,但 apply 会保留它以备将来可能重用。
如果您的提交在日志或存储中丢失,您可能重置了 HEAD。
从现在开始,为您的工作做好下一步工作,以免弄乱任何东西。
从更新的主节点检查你的分支
git checkout -b your_branch_name
完成一些工作后
git add "name of your file" or git add * (to add all files)
Git 添加命令使用在工作树中找到的当前内容更新索引,为下一次提交准备暂存内容
git commit -m "Your message here"
将其推送到远程源
git push origin your_branch_name
在你 运行 git checkout sha1
之后,你处于分离的 HEAD 状态。使用 git reflog
查找您之前的 HEAD 并 git checkout
查找该 HEAD 或 git reset --hard
查找该 HEAD。
如果您在命名分支上,您可以简单地 git checkout <branch name>
返回。如果您使用的是分离式 HEAD,请改用 git reflog
。
我是 git 的新手,偶然发现了一个奇怪的问题
所以我对我的本地存储库做了一些提交,并使用 git 日志查看它们,它工作正常。 一段时间后,我检查了一个较旧的提交,后来我想跳回到我最新的提交以继续我的工作。所以我做了另一个 git 日志。 但是现在没有显示最新的 3-4 次提交。 输入 'git checkout master' 使我进入第二个日志命令的最新提交,但没有进入我描述的第一个命令的提交。 这是一个问题还是我必须键入另一个命令才能返回到最新提交?
我希望我的问题是可以理解的。
我按正确顺序输入的所有命令:
Git 添加 public/
Git commit -m “Fo“
(这里没有错误)
Git 日志 --oneline.
输出:8 次提交。
Git 签出“旧提交的 id”
Git 日志 --oneline.
输出:4 次提交
我认为没有人明白您的确切要求,但我认为您可能已经隐藏了您的更改。
类型:
git stash list
那里显示什么,有资料吗?
如果有这样的事情
stash@{0}: WIP on master: 049d078 added the index file
您可以输入:
git stash apply // for the last stash to be applied
git stash apply stash@{1} // for the second from last stash
另外,你可以试试:
git stash pop // apply the stash and then immediately drop it from your stack
以上两者的区别在于 pop 会丢弃堆栈中的存储,但 apply 会保留它以备将来可能重用。
如果您的提交在日志或存储中丢失,您可能重置了 HEAD。
从现在开始,为您的工作做好下一步工作,以免弄乱任何东西。
从更新的主节点检查你的分支
git checkout -b your_branch_name
完成一些工作后
git add "name of your file" or git add * (to add all files)
Git 添加命令使用在工作树中找到的当前内容更新索引,为下一次提交准备暂存内容
git commit -m "Your message here"
将其推送到远程源
git push origin your_branch_name
在你 运行 git checkout sha1
之后,你处于分离的 HEAD 状态。使用 git reflog
查找您之前的 HEAD 并 git checkout
查找该 HEAD 或 git reset --hard
查找该 HEAD。
如果您在命名分支上,您可以简单地 git checkout <branch name>
返回。如果您使用的是分离式 HEAD,请改用 git reflog
。