git推送到裸存储库然后拉不工作

时间:2011-04-15 22:00:39

标签: git git-svn

我有托管给我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访问的帮助,我应该打开它们同步吗?

2 个答案:

答案 0 :(得分:2)

由于您使用git push而没有任何其他参数,因此很难分辨出您在笔记本电脑和台式机上的哪个分支。如果您只在master分支中工作,那么git push应该可以工作,因为您位于远程源分支中。但是,如果您在另一个分支中,很可能是以默认方式创建它,这会创建一个本地分支。然后,您需要使用git push origin mybranchname将该分支显式推送到repo(或将您的更改合并到另一个分支,可能是主分支)。

P.S。伟大的Matthew Mccullough在过去的NFJS上展示了一个很好的bash提示设置来显示git状态,包括当前的分支和脏状态。我在这里有一个调整版本https://gist.github.com/235332,这是马修的要点。它可能会派上用场跟踪您所在的分支。

答案 1 :(得分:0)

运行git config时看到的配置存储在本地,每个存储库,它不在存储库之间共享(因此它不会被推送到服务器,也不会被拉下来;它完全在本地管理) 。您的配置包含如何管理存储库的设置,这些设置可能需要在不同的计算机上不同,甚至可能需要在同一台计算机上的不同存储库中进行设置,因此Git不会管理存储库配置的内容,也不会在存储库之间共享它。

要查看两个存储库之间正在更新的文件,请在一个存储库中创建或编辑文件,使用git add filename暂存文件,使用git commit提交,然后按。从其他存储库中提取时,应该会看到新文件或更新文件。