git push成功,但远程存储库未更新或同步

时间:2016-12-23 13:08:49

标签: git push synchronized repo

我在我的mac os x上学习git。我在我的mac上启用了ssh,并尝试模拟远程仓库和本地仓库。

我遇到的情况是,在我在本地仓库中更改文件后,git add / commit / push成功,我没有看到我的远程仓库的更改。我的步骤是这样的: 创建远程仓库

$cd ~/learn
$mkdir gittest
$cd gittest/
$git init
$git config --global user.name "username"
$git config --global user.email "useremail"
$touch readme
$git add readme
$git commit -m "empty"

好的,一切都很好,然后在另一个目录中,我做了:

$cd ~/learn/client
$git clone trosky@localhost:/Users/trosky/learn/gittest
$cd gittest
$vi readme(add one line)
$git add .
$git commit -m "add line"
$git push origin master:refs/for/master

好吧,git push prints:

Counting objects: 3, done.
Writing objects: 100% (3/3), 274 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To x@localhost:/Users/trosky/learn/gittest
 * [new branch]      master -> refs/for/master

$git log

我可以看到2条记录。

commit e4a3af902d8d3b708509073e4fd2281ab8355cf0
Author: username <useremail>
Date:   Fri Dec 23 20:54:52 2016 +0800

    add line

commit e024e83b1227f8d1e585cad66e7a4f9b3bb12462
Author: username <useremail>
Date:   Fri Dec 23 20:53:18 2016 +0800

    empty

但是在gittest目录中,我只能看到1个git日志,文件仍然是空的

$git log
commit e024e83b1227f8d1e585cad66e7a4f9b3bb12462
Author: username <useremail>
Date:   Fri Dec 23 20:53:18 2016 +0800

    empty

这太奇怪了。我重复了几次这个过程,每次都有相同的结果。为什么这样以及如何解决?

2 个答案:

答案 0 :(得分:2)

您正在推送refs/for/master,而不是refs/heads/master,因此推送的内容不会显示为“真正的”分支。相反,您正在推动refs/for/*这是Gerrit等代码审核工具中常见的refspec。

如果您使用其中一种工具,则应检查您的推送是否在某处生成了代码审核项目;或查阅手册以确保您正确地完成所有操作。

否则,如果您只想推送主分支,请正确推送到refs/heads/master或假设您的遥控器的默认配置使用git push origin master

答案 1 :(得分:0)

在PUSH之后,您必须合并两个仓库,以便在远程仓库中进行更改。