Ale*_*lex 1 unix git version-control
到目前为止,我对git的使用主要是通过IDE进行的,我对我认为简单的事情有点噩梦.
在远程服务器上,我运行gitolite似乎工作正常,我的本地机器可以连接到服务器并执行简单的任务.
我在服务器上有一个repo,其名称与我本地的repo相同,但是本地repo在服务器版本之前创建了很长时间.
经过大量阅读后,建议克隆遥控器,然后推送到服务器.所以:
$ git clone ***server***:***repo***
Cloning into ***repo***...
warning: You appear to have cloned an empty repository.
Run Code Online (Sandbox Code Playgroud)
当我这样做时,我得到一个鼓舞人心的信息:
$ 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
$
Run Code Online (Sandbox Code Playgroud)
一切看起来都不错...... 但文件不在服务器上?
我应该合并,还有什么关于rebase ...这是我的知识完全崩溃的地方.我试过阅读git-scm文档,但我必须诚实......这是我的想法,这似乎应该是一件非常简单的事情.
服务器只包含一个裸存储库,即没有结帐.这些文件只存储在您提及的objetcs/目录和pack文件中.您可以做些什么来验证文件确实存在,例如从本地计算机上的服务器创建新克隆.或者,在服务器上,您可以执行
git ls-tree -r master
Run Code Online (Sandbox Code Playgroud)
它应该为您提供所有文件的列表以及它们的模式和哈希值.
编辑:你想在Pro Git书中阅读服务器上关于Git的章节.