我刚刚创建了名为website
的目录。这有几个图片,index.html页面等。我跑了:git --bare init --shared=0777
现在,它成功创建了一个空的共享仓库。
我现在尝试通过进入我的服务器上的/developers/developer1
并运行git clone /live/website
来克隆此项目。我收到以下消息:
Initialized empty Git repository in /developer/developer1/website/.git/
warning: You appear to have cloned an empty repository.
我正在运行UNIX。当我执行ls
时,我看到的只是.git文件夹,并且没有在此处克隆所有images / index.html页面。我试着这样做:
git pull /live/website origin
fatal: Couldn't find remote ref origin
fatal: The remote end hung up unexpectedly
git pull /live/website master
fatal: Couldn't find remote ref master
fatal: The remote end hung up unexpectedly
我知道我需要做origin
,因为当我做git remote -v
时,这就是我得到的:
origin /live/website (fetch)
origin /live/website (push)
简而言之,这就是我需要帮助的地方:
但是,由于我似乎无法首先获取文件,所以我无法继续!主要目的是允许许多开发人员同时处理文件,并在完成后将其更改推送到主/live/website
目录。
答案 0 :(得分:3)
您必须执行一些步骤才能将文件存入您的仓库。假设您有一个存储裸存储库的服务器和一些完成实际工作的工作站。
在您的服务器上初始化裸仓库,就像您写的那样:
git --bare init --shared=0777
将此目录签出到 workstation1 :
git clone git://server/repo.git
将一些文件放入这个新克隆的repo中并将它们添加到轨道中。要添加所有这些内容,请执行git add .
将添加的文件提交到本地存储库:
git commit -m 'initial commit'
现在,更改(添加文件)存储在本地存储库中。
最后,将文件(假设您使用分支 master )推回服务器(称为 origin ):
git push origin master
现在,执行更多本地更改并将其提交到本地仓库,如步骤4中所示。当您现在键入git status
时,它应该会给您一条消息
Your branch is ahead of origin/whatever by 1 commit
要将更改恢复到中央存储库,您只需键入git push
,因为您在步骤5中设置了对分支的跟踪。
现在,如果您从其他计算机(例如 workstation2 )执行git clone git://server/repo.git
,您将获得刚刚签入的文件...
这是一般的git工作流程:
clone
,连续pull
)git commit
)git push
)要获得更详细的说明,请参阅progit book在线版中 Private Small Team 部分。
答案 1 :(得分:-1)
当您使用git init
创建存储库时,它将作为空存储库启动。您必须先添加文件(git add -- file1 file2 other files
),然后创建提交(git commit -m'initial commit'
)。
然后您应该能够使用git clone
克隆所述存储库并从中获取/拉取