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. 前端打包/自动化构建工具:fis3

    据说这个可以进行打包,并且可以实现类似/script/test-adsf123.js或者/script/test.js?v=asdf123 先做个记号 参考:http://fis.baidu.com/

  2. npm下载包时代理配置

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

  3. Android NDK学习之第一个实例---端口扫描

    为什么要写一个端口扫描的程序,Java来写不是很方便吗?因为我也没有想到什么例子能够方便的来练习.于是想到以前找到的端口扫描的C代码,于是想用他们来练习.扫描服务端端口的方式有许多种,最简单的就是直接 ...

  4. android.content.SharedPreferences.edit()

    今天在实现一个保存用户设置到SharedPreferences时,出现了一个不能将数据保存到SharedPreferences中的情况.经过仔细的分析得出: android.content.Share ...

  5. CSS 命名管理 之 BEM

    好吧,将 BEM 简单的解释为 “Block-Element-Modifier“, 其实是个不负责任的做法.鬼知道 Block 是什么啊?所以,看了一些似懂非懂的中文解释之后,自己还是得去找些英文来读 ...

  6. linux系统安装jdk

    OpenJdk8安装: sudo add-apt-repository ppa:openjdk-r/ppa sudo apt-get update sudo apt-get install openj ...

  7. EF-CodeFirst-3搞事

    本文学习旺杰兄的 CodeFirst 系列教程而写.尽量摆脱之前的影子写出自己的理解 表间关系.级联删除 简单玩法已经走通了,但是我就是想搞点事出来.今天来搞搞表间关系和级联删除 表间关系 毫无疑问在 ...

  8. 如何写出优雅的css代码 ?

    如何写出优雅的css代码 ? 对于同样的项目或者是一个网页,尽管最终每个前端开发工程师都可以实现相同的效果,但是他们所写的代码一定是不同的.有的优雅,看起来清晰易懂,代码具有可拓展性,这样的代码有利于 ...

  9. Java单例模式——并非看起来那么简单

    版权声明:本文为[viclee]原创,如需转载请注明出处~ Java中单例(Singleton)模式是一种广泛使用的设计模式.单例模式的主要作用是保证在Java程序中,某个类只有一个实例存在.一些管理 ...

  10. Apache+php+mysql+SQLyog在windows7下的安装与配置图解

    先准备好软件: Apache官方下载地址:httpd-2.2.25-win32-x86-openssl-0.9.8y.msi,更多版本在这里: php官方下载地址:php-5.4.37-Win32-V ...