1

迄今为止,我对 git 的使用主要是通过 IDE 进行的,而我对我认为很容易的事情感到有些噩梦。

在远程服务器上,我运行了 gitolite,它似乎工作正常,我的本地计算机可以连接到服务器并执行简单的任务。

我在服务器上有一个与本地存储库同名的存储库,但是本地存储库是在服务器版本之前很长时间创建的。

在大量阅读 SO 之后,建议克隆远程然后推送到服务器。所以:

$ git clone ***server***:***repo***
Cloning into ***repo***...
warning: You appear to have cloned an empty repository.

当我这样做时,我收到了一条令人鼓舞的信息:

$ git push origin master
Counting objects: 4070, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3737/3737), done.
Writing objects: 100% (4070/4070), 15.16 MiB | 588 KiB/s, done.
Total 4070 (delta 867), reused 0 (delta 0)
To ***server***:***repo***.git
 * [new branch]      master -> master
$

一切看起来都很好......但是文件不在服务器上?

我应该合并吗,rebase 怎么样...这是我的知识完全崩溃的地方。我已经尝试阅读git-scm文档,但我必须说实话.. 它超出了我的想象,这似乎应该是一件很简单的事情。

4

1 回答 1

6

服务器只包含一个存储库,即没有检出。文件仅存储在objetcs/目录和pack您提到的文件中。您可以做些什么来验证文件确实存在,例如,从本地计算机上的服务器创建一个新克隆。或者,在服务器上,您可以执行

git ls-tree -r master

它应该为您提供所有文件的列表以及它们的模式和哈希值。

EDIT: You'll want to read the chapter about Git on the server in the Pro Git book.

于 2013-03-12T08:57:49.270 回答