如何解决git push到裸仓库,然后拉不起作用
| 我有托管给我ssh访问权限。 我创建了裸仓库。下班前我要去的地方。但是,当我从那里拉出更改时,它不起作用。nerkn@nerkn-laptop ~/www/project $ git push
Everything up-to-date
配置是:
nerkn@nerkn-laptop ~/www/project $ git config -l
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
remote.origin.url=ssh://user@domain.com/~/project.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master
然后家用电脑:
nerkn@nerkn-desktop /var/www/project $ git pull
Already up-to-date.
nerkn@nerkn-desktop /var/www/project $ git config -l
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
remote.origin.url=ssh://usre@domain.com/~/project.git
branch.master.remote=origin
branch.master.merge=refs/heads/master
gui.wmstate=normal
gui.geometry=962x330+284+384 207 192
如果每件事都是最新的并且已经是最新的,那么为什么它们不同?我如何使用此设置。我应该在没有托管ssh访问帮助的情况下打开它们进行同步吗?
解决方法
运行
git config
时看到的配置是在每个存储库中本地存储的,它不会在存储库之间共享(因此,它不会被推送到服务器,也不会被拉下;它是完全在本地管理的)。您的配置包含用于管理存储库的设置,这些设置可能在不同计算机上甚至在同一台计算机上甚至可能不同,因此Git不会管理存储库配置的内容,也不会在存储库之间共享它。
为了查看两个存储库之间正在更新的文件,请在一个存储库中创建或编辑文件,使用git add filename
暂存文件,使用git commit
提交,然后推送。从其他存储库中拉出时,应该会看到新文件或更新文件。
,由于您使用的是git push
,而没有其他任何参数,因此很难确定笔记本电脑和台式机上的哪个分支。如果您仅在master分支中工作,则git push应该可以工作,因为您在远程源分支中。但是,如果您在另一个分支中,则很可能是通过默认方式创建的,即创建本地分支。然后,您需要使用git push origin mybranchname
将该分支显式推入仓库(或将更改合并到另一个分支,可能是master分支)。
附言伟大的Matthew Mccullough在过去的NFJS上显示了出色的bash提示设置,以显示git状态,包括当前分支和脏状态。我在这里有一个经过调整的版本https://gist.github.com/235332,这是Matthew \'s gist的分支。它可能有助于跟踪您所在的分支。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。