2

我按照以下说明操作:如何将普通的 Git 存储库转换为裸存储库?然后我尝试推送到主仓库,我只是更改了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

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

4

1 回答 1

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 和远程 master 分支之间的任何区别

于 2013-03-28T07:33:19.313 回答