Git SVN - Git push到bare repository然后pull不工作



我有主机,让我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

Then home computer:

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 push,因此很难在笔记本电脑和台式机上判断您处于哪个分支。如果你只在主分支中工作,git push应该可以工作,因为你在一个远程源分支中。但是,如果您在另一个分支中,则很可能以默认方式创建它,从而创建本地分支。然后,您需要使用git push origin mybranchname显式地将该分支推送到repo(或将更改合并到另一个分支,可能是主分支)。

注:Matthew Mccullough在过去的NFJS中展示了一个很好的bash提示设置,用于显示git状态,包括当前分支和dirty状态。我在这里有一个调整的版本https://gist.github.com/235332,从马修的要点分叉。它可以方便地跟踪你所处的分支。

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

为了查看两个存储库之间正在更新的文件,在其中一个存储库中创建或编辑文件,使用git add filename执行文件,使用git commit提交文件,然后推送。当您从其他存储库中提取时,您应该看到新的或更新的文件。

相关内容

最新更新