GIT的服务器仓库和本地仓库的创建于区别

先来描述下我遇到的问题吧~

首先对于第一次在服务器上搞git的我来说这个手确实绿了点.....修改之前描述!!!建仓库的命名不是要.git才可以!!!!

这是本次操作的最大受教资料:

https://git-scm.com/book/zh/v2/%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84-Git-%E5%9C%A8%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E6%90%AD%E5%BB%BA-Git

首先在建库的时候要明确一点,你要做的是本地仓库还是服务器仓库。(以下仅代表个人实践总结,会存在描述偏差)

对于有pull和push的小伙伴,建议搭建先搭建裸露,再将真正的代码创建仓库作为本地仓库,最后将本地仓库与裸库关联;而对于只是将代码进行版本管理和分支管理可以只创建本地仓库。

这么说可能很多人都不是很明确,这里可以参考我们本地拉到其他库在本地开发的时候的情况:

  

这是我本地拉的代码然后自己添加分支的结构。这个时候电脑本地的仓库和远程的仓库的关系就和我们在服务器创建的 .git 的裸库和存在很多文件代码的‘本地’仓库的关系类似(不尽相同)

拉到本地的代码可以通过分支管理自己写的和想要提交的,这时候就也是创建了一个本地仓库,我们克隆到的也就是一个仓库。而裸库是没有代码的,而且也没有 .git 文件。看到几个熟悉的名词,这里面都是

扫描二维码关注公众号,回复: 979276 查看本文章

裸库的主要内容在config hooks/ info/ objects/

几个目录是主要包含了这个裸库管理的分支,分支代码等。在config中就是我们需要的代码的地址等的描述和名字一样,就是一个配置文件,在配置文件可以看出管理的分支和分支地址,因为对于服务器级的仓库是必须通过和仓库关联才有代码。

来摘要下步骤:
1.创建服务器仓库-裸库:

这一步的核心就是:

(1)在你服务器合适的位置创建一个名为***.git的文件目录

(2)进入目录,在该目录下键入命名:git init --bare

看到空文件夹下有多个如图示文件后就是创建好了

2.创建服务器本地仓库

这一步的核心就是创建仓库并将仓库与裸库相关:
(1)在合适位置创建一个仓库(步骤和之前提到创建仓库相同描述我的步骤为主)

将代码放在服务器合适位置,假如项目名为myTest

cd myTest

git init //将这个目录变为仓库

git add *//添加文件进行暂存

git commit -m 'init Project'//提交到仓库

致此,(1)步骤结束,这里也是就制作一个本地库的过程。

(2)关联裸库

git remote add origin 服务器:/路径/****.git

(3)将服务器本地库提交裸库主分支

git push -u orgin master

于是,一个可以提交和拉取代码的git搞定了

另外要注意权限的问题。当push的时候遇到:error: insufficient permission for adding an object to repository database ./objects

可以参考:https://stackoverflow.com/questions/6448242/git-push-error-insufficient-permission-for-adding-an-object-to-repository-datab

其实就是文件权限的问题,创建好的仓库不要随意修改仓库权限。我遇到的问题就是根据创建的教程说修改为git用户,但是这时候建议用git的配置修改,而不是chown

猜你喜欢

转载自my.oschina.net/jlong/blog/1816589
今日推荐