推送到裸存储库,即使它没有显示错误,更改没有生效

时间:2013-03-28 07:28:44

标签: git

我按照这些说明操作:How to convert a normal Git repository to a bare one?然后我尝试推送到主仓库,我刚刚更改了test.txt文件中的一些文字。

当我按下它时,作业已完成输出

1 file changed, 1 line added...

但是当我连接FTP以查看我的test.txt文件时,它就不存在了!

这是我使用的命令:

git push ssh://username@domain:22/~/repo
你觉得我应该把命令更改为:

git push ssh://username@domain:22/~/repo/reponame.git master

因为我现在这样做了,我等待回应,因为它需要很长时间..

1 个答案:

答案 0 :(得分:1)

裸存储库 没有工作副本:

  

但是当我用ftp连接来查看我的test.txt文件时,它就不存在了!

这意味着,没有签出的文件,例如test.txt。

如果要验证它是否存在(在.git / objects数据库中),请使用以下任何一种(在该服务器上):

git ls-files -- test.txt
git archive HEAD -- test.txt > test.tar

git cat-file -p master:test.txt

或者只是将repo克隆到另一个位置以检查它是否包含该文件。

从您以前推送的客户端,您可以将其与远程

进行比较
git remote add server ssh://username@domain:22/~/repo
git remote update --prune

通过这样做。

git log --left-right --graph --oneline HEAD ... server/master

你会看到完全哪些提交只在一个相应的分支中。可替代地

git diff --stat server/master

列出本地HEAD和远程主分支之间的任何差异