我是Git分支复杂的新手.我总是在一个分支上工作并提交更改,然后定期推送到我的远程源.
在最近的某个地方,我重置了一些文件以使它们脱离提交暂存,后来又做了一个rebase -i去除几个最近的本地提交.现在我处于一种我不太了解的状态.
在我的工作区域,git log显示我所期待的 - 我在正确的火车上,我不想要的提交,以及那些新的,等等.
但是我只是推送到远程存储库,并且有什么不同 - 我在rebase中杀死的一些提交被推送,而本地提交的新提交不存在.
我认为"master/origin"与HEAD分离,但我不是100%清楚这意味着什么,如何使用命令行工具将其可视化,以及如何修复它.
我在我的存储库中做了一些工作,发现文件有本地更改.我不再想要它们所以我删除了文件,以为我可以签出一份新的副本.我想做Git相当于
svn up .
Run Code Online (Sandbox Code Playgroud)
使用git pull似乎没有用.一些随机搜索引导我到一个有人推荐做的网站
git checkout HEAD^ src/
Run Code Online (Sandbox Code Playgroud)
(src是包含已删除文件的目录).
现在我发现我有一个超然的头.我不知道那是什么.我怎么撤消?
我今天最终得到了一个独立的头,同样的问题如下所述:git push说一切都是最新的,即使我有本地更改
据我所知,我没有做任何与众不同的事情,只是从我当地的回购中提交和推送.
那我怎么最终得到一个detached HEAD?
我是新手,不太会使用 git。
我以某种方式将 head 从我的 git 项目存储库中分离出来,编写了许多代码,并尝试提交更改。
我用了:
git add *
git commit -m "comment"
Run Code Online (Sandbox Code Playgroud)
我尝试使用git push,但我得到了
fatal:您当前不在分支上。
将历史推送到当前(分离的 HEAD)
我使用过git checkout master,更改已返回到主分支提交,分离的 HEAD 分支已被删除,我不知道如何返回丢失的代码。
git ×4