git init

git init命令用来创建一个新的Git仓储.可以用在一个已经存在的但是没有受Git版本控制的项目,或者用来初始化一个全新的没有任何文件的空仓储.git init通常是你开始一个新的项目时要运行的第一个命令.

运行git init会在你项目的根目录创建一个.git文件夹,这个文件夹里面包含了这个仓储的所有元数据.

用法

git init

把当前目录转成一个Git仓储. 会在你的当前文件夹下面创建一个.git子文件夹,有了它才能记录项目的版本信息.

git init <directory>

在你指定的文件夹创建一个空的Git仓储. 运行后会在你的当前目录下创建你指定的文件夹,这个文件夹除了一个.git子文件夹什么都没有.

git init --bare <directory>

初始化一个空的Git仓储, 而且这个仓储不会有工作目录. 中心仓储(共享仓储)应该都是用--bare创建的裸仓储.通常约定--bare后面的文件夹的名字以.git结尾.例如创建一个名为my-project的裸仓储,这个仓储应该在my-project.git文件夹下面.

讨论

对于大多数项目,git init用来创建一个中心仓储--开发人员通常不使用git init来创建他们自己的本地仓储.开发人员通常使用git clone来copy一个已经存在的仓储到他们本地.

裸仓储(bare仓储)

--bare 用来创建一个没有工作目录的仓储.中心仓储应该要是一个裸仓储,因为push一个分支到一个非裸的仓储的时候会有覆盖修改的风险.可以这样认为--bare标识仓储为一个与开发环境不同的存储设备. 这意味着中心仓储是裸仓储,开发者的本地仓储是非裸仓储.

例子

ssh <user>@<host>
cd path/above/repo
git init --bare my-project.git

首先SSH到你的服务器(这个服务器将包含你的中心仓储). 
然后cd到你想存放仓储的目录.
最后使用--bare创建中心仓储.
开发者将使用clone命令在他们的开发机器上创建一个本地copy

[译]git init的更多相关文章

  1. git init和git init -bare区别

    1 Git init  和 git init –bare 的区别 用"git init"初始化的版本库用户也可以在该目录下执行所有git方面的操作.但别的用户在将更新push上来的 ...

  2. [译]git clone

    git clone git clone命令copy一个已经存在的Git仓储. git clone有点像svn的checkout, 他的不同之处是这个copy也是一个完整的仓储-它有自己的历史纪录, 能 ...

  3. git init 与 git init --bare 的区别

    git init  和 git init –bare 的区别 使用命令"git init --bare"(bare汉语意思是:裸,裸的)初始化的版本库(暂且称为bare repos ...

  4. 初始化仓库(git init)

    创建新的仓库 首先进入需要初始化的目录,然后输入git init D:\Git\test λ git init Initialized empty Git repository in D:/Git/t ...

  5. git init github

    Command line instructions 执行这些命令是在windows 右菜单里面的git bash运行. Git global setup git config --global use ...

  6. git init 与 git init --bare 区别

    git init 与 git init --bare 区别 发现问题 最早是在公司的wiki上发现了这个命令,google后发现值得记录下来 实践中发现的区别 网上找了很多资料,但说的很乱,干脆在自己 ...

  7. git init新建仓库并上传到远端

    git init git add README.md git commit -m "first commit" git remote add origin https://gith ...

  8. git init error:Malformed value for push.default: simple

    git init error:Malformed value for push.default: simple 1.git config --global push.default matching

  9. git init之后,没有.git后缀的文件

    git init之后,打开相关目录没有.git后缀的文件 尝试

随机推荐

  1. npm下载包时代理配置

    主要有两种方式,1通过命令行临时配置,2通过配置文件进行永久配置. 1.命令行: npm install --proxy http://localhost:1080 如果有账号密码等验证的,需要在后面 ...

  2. MVC3项目依赖文件错误解决

    MVC3的项目依赖分为两大类: 1.ASP.NET Web Pages 2.ASP.NET MVC 3 如果没有正确引入,或者项目的版本有错误会出现程序集引用错误. 在服务器上部署时,解决思路如下: ...

  3. ubuntu安装WPS

    自带的LiberaOffice略渣,还是安上WPS吧. 直接按官网上的sudo apt-get install ia32-libs根本无法运行.需要先做个补丁. 用sudo gedit打开编辑器,输入 ...

  4. linux最常用的20条命令

    玩过Linux的人都会知道,Linux中的命令的确是非常多,但是玩过Linux的人也从来不会因为Linux的命令如此之多而烦恼,因为我们只需要掌握我们最常用的命令就可以了.当然你也可以在使用时去找一下 ...

  5. easyui使用datagrid时列名包含特殊字符导致表头与数据错位的问题

    做一个用easyui的datagrid显示数据的功能时发现表格的列头与数据错位了,而且这个现象不总是能重现,一直没搞清楚原因.后来偶然在控制台看出了一点端倪: 推测表头或者单元格的class名应该是用 ...

  6. Response 对象

    Response 对象用于将数据从服务器发送回浏览器. 页面跳转并传递参数 Response.Redirect("~/welcome.aspx?parameter1=one&para ...

  7. 对WEB标准以及W3C的理解与认识

    按照习惯的理解,这两个概念似乎都是指的一个东西(就是咱们在这个版里讨论的这些个"高深理论“^_^).但我认为,事实上从技术的角度上讲,这两个事物几乎没有任何相关性.web标准简而言之就是将页 ...

  8. 用DOS命令打开IE浏览器、我的文档等等

    用DOS命令打开IE浏览器 在“start”-运行中直接输入网址就可以了.如输入百度: http://www.baidu.com Command:[ start  http://www.baidu.c ...

  9. resultset 对象获取行字段数据时报:java.sql.SQLException: Column 'id' not found.

    resultset 对象获取行字段数据时报:java.sql.SQLException: Column 'id' not found. 代码: String sql="SELECT d.co ...

  10. 数论 Note.

    1. $ax+by=1 \rightarrow gcd(a,b)=1$ 2.如果一个数的后n位能被$2^n$整除,那么这个数能被$2^n$整除. 3.如果一个数的各位数之和能被3,9整除,那么这个数能 ...