Git 创建仓库

Git 创建仓库

本章节我们将为大家介绍如何创建一个 Git 仓库。
你可以使用一个已经存在的目录作为Git仓库。

两台机器:A 192.168.1.123 B 192.168.1.124
A上建Git仓库,B上去访问并且提交代码

james_xie@np-svr-file:~$ pwd
/home/james_xie
mkdir openvpn.git
cd openvpn.git/
git init -bare

注意上面创建仓库的时候是带”-bare”参数的,带不带这个参数的区别,下面会给出。这里创建的是所谓的裸仓库,是因为这个仓库只保存git历史提交的版本信息,而不允许用户在上面进行各种git操作,如果你硬要操作的话,只会得到下面的错误(”This operation must be run in a work tree”)

B:Host 192.168.1.124

git clone ssh://192.168.1.123/home/james_xie/openvpn.git
cd openvpn/

这下一步之前,添加一些代码,或者要上传的文件openvpn的目录下面

git add .
git commit -m "first commit"
git push -u origin master 

或者之前简写为:

git push

创建Git仓库带不带“-bare”参数的区别:

  1. 使用“普通库”代指用”git init”命令创建的GIT库;
  2. 使用“裸库”代指用”git init –bare”命令创建的GIT库;
    当你创建一个普通库时,在工作目录下,除了.git目录之外,你还可以看到库中所包含的所有源文件。你拥有了一个可以进行浏览和修改(add, commit, delete等)的本地库。当你创建一个裸库时,在工作目录下,只有一个.git目录,而没有类似于本地库那样的文件结构可供你直接进行浏览和修改。但是你仍旧可以用git show命令来进行浏览,举个例子(参数为某个commit的SHA1值):
 git show 921dc435a3acd46e48e3d1e54880da62dac18fe0

如果使用了git init初始化,则远程仓库的目录下,也包含work tree,当本地仓库向远程仓库push时, 如果远程仓库正在push的分支上(如果当时不在push的分支,就没有问题), 那么push后的结果不会反应在work tree上, 也即在远程仓库的目录下对应的文件还是之前的内容,必须得使用git reset –hard才能看到push后的内容。我一般都是按照上面步骤,直接创建“裸库”,再添加代码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值