我有一个远程gitosis服务器和一个本地git存储库,每次我在代码中做大的更改时,我也会将更改推到该服务器。

但是今天我发现,即使我有一些本地更改并提交到本地存储库,当运行git push origin master时,它说“一切都是最新的”,但当我使用git clone在远程服务器上签出文件时,它不包含最新的更改。我只有一个名为“master”的分支机构和一个名为“origin”的远程服务器。

PS: 这是git在运行ls-remote时显示的内容,我不确定它是否有帮助

$ git ls-remote origin
df80d0c64b8e2c160d3d9b106b30aee9540b6ece        HEAD
df80d0c64b8e2c160d3d9b106b30aee9540b6ece        refs/heads/master
$ git ls-remote .
49c2cb46b9e798247898afdb079e76e40c9f77ea        HEAD
df80d0c64b8e2c160d3d9b106b30aee9540b6ece        refs/heads/master
df80d0c64b8e2c160d3d9b106b30aee9540b6ece        refs/remotes/origin/master
3a04c3ea9b81252b0626b760f0a7766b81652c0c        refs/tags/stage3

当前回答

也许你想在当地开一家新分公司?

必须显式地推送一个新的本地分支:

git push origin your-new-branch-name

这是关于少年犯的一件事…你克隆一个回购,创建一个分支,提交一些更改,推送…“一切都是最新的”。我理解为什么会发生这种情况,但这种工作流程对新人非常不友好。

其他回答

在我的例子中,问题的原因是我在git bash中的符号链接文件夹中执行git推/拉命令! 我在一个git项目中的符号链接文件夹中指向另一个git项目,git的pull/push命令正在回答Everything - latest。 当我将(cd)移动到实际文件夹的路径(不是通过符号链接)时,git的推/拉命令起作用了。

我在使用Jupyter-Notebook时遇到了这个欺骗性错误。

我无法通过上面提供的解决方案解决,因为我既没有分离的头,也没有不同的本地和远程回购名称。

但是我所拥有的是我的文件大小略大于1MB,最大的几乎是2MB。

我如何减少我的iPython笔记本的文件大小减少每个文件的大小?技术。

它通过清除输出来帮助减小文件大小。我能够推动代码,从此以后,因为它使我的文件大小以kb为单位。

我遇到过这样的情况,我在一个特征分支上,而我的同事也创建了他自己的特征分支。我运行git fetch -a,然后git push origin <coworkers_branch>。它一直告诉我一切都是最新的。

我通过检出到<coworkers_branch>,然后从我的特征分支中提取,然后提交并推回到<coworkers_branch>来修复它。

我真诚地希望这能帮助到一些人,因为我花了太多的时间在这上面。

我们需要添加文件,并提交已经更改/添加的文件 执行以下命令

Git添加。或者git add nameoffile #,它将添加项目中现有的文件

Git commit -m "first commit" #提交项目中的所有文件

Git push origin master

见上面VonC的回答-我需要一个额外的步骤:

$ git log -1
- note the SHA-1 of latest commit
$ git checkout master
- reset your branch head to your previously detached commit
$ git reset --hard <commit-id>

我这么做了,但是当我尝试着去推remoterepo master时,它说 "错误:未能推动一些参考。为了防止您丢失历史记录,非快进更新被拒绝,合并远程更改(例如。'git pull'),然后再推。”

所以我做了'git拉remoterepo master',它发现了一个冲突。我再次做了git reset——hard <commit-id>,将冲突文件复制到备份文件夹,git再次拉出remoterepo master,将冲突文件复制回我的项目,git提交,然后git推送remoterepo master,这一次它成功了。

Git不再说“一切都是最新的”,也不再抱怨“快进”。