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

git推送成功,但远程存储库未更新或同步,git,push,synchronized,repo,Git,Push,Synchronized,Repo,我正在MacOSX上学习git。我已经在mac上启用了ssh,并尝试模拟远程repo和本地repo 我遇到这样的情况:在本地repo中更改文件后,git add/commit/push成功,但在远程repo上看不到更改。我的步骤如下: 创建远程回购协议 $cd ~/learn $mkdir gittest $cd gittest/ $git init $git config --global user.name "username" $git config --global user.email

我正在MacOSX上学习git。我已经在mac上启用了ssh,并尝试模拟远程repo和本地repo

我遇到这样的情况:在本地repo中更改文件后,git add/commit/push成功,但在远程repo上看不到更改。我的步骤如下: 创建远程回购协议

$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推送打印:

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
我能看到两张唱片

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
提交e4a3af902d8d3b708509073e4fd2281ab8355cf0
作者:用户名
日期:2016年12月23日星期五20:54:52+0800
添加行
提交e024e83b1227f8d1e585cad66e7a4f9b3bb12462
作者:用户名
日期:2016年12月23日星期五20:53:18+0800
空的
但是在gittest目录中,我只能看到1个git日志,文件仍然是空的

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

    empty
$git日志
提交e024e83b1227f8d1e585cad66e7a4f9b3bb12462
作者:用户名
日期:2016年12月23日星期五20:53:18+0800
空的

这太奇怪了。我重复了这个过程好几次,每次都是相同的结果。这是为什么?如何修复?

推送后,您必须合并两个回购以移动远程回购中的更改。

您推送的是
refs/for/master
,而不是
refs/heads/master
,因此您推送的不会显示为“真实”分支。相反,您将推到
refs/for/*
,这是代码审阅工具(如)中常见的refspec

如果您正在使用这些工具中的一个,您应该检查推送是否在某处生成了代码审阅项;或者查阅手册以确保您所做的一切都正确


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

如何操作?