git init

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

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

用法

  1. git init

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

  1. git init <directory>

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

  1. git init --bare <directory>

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

讨论

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

裸仓储(bare仓储)

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

例子

  1. ssh <user>@<host>
  2. cd path/above/repo
  3. 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. SQL Server附加数据库时失败,提示:“未重新生成日志,因为有不止一个日志文件”

    这个只能是试一下的方法,但不一定能成功,可以尝试如下几个方法: 1.登录远程桌面,然后以.登录SQL Server,并以Windows身份登录,然后再附加数据库时把日志文件删除. 2.试下这个脚本: ...

  2. discuz /faq.php SQL Injection Vul

    catalog . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 . 通过获取管理员密码 . 对管理员密码进行破解.通过在cmd5.com ...

  3. android.content.SharedPreferences.edit()

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

  4. win7、win8上SaveFileDialog窗口跳不出的问题

    xp上做的开一个线程 线程中数据以Excel形式保存到指定文件中的程序  放到win7 win8上都不跳出保存的对话框? 解决: 在win7.win8上都要对线程  在线程启动前设置其单元状态.设置为 ...

  5. 帝国cms实现会员注册之后根据所在会员组转向的方法

    帝国cms要实现会员注册之后根据所在会员组转向的能能,就需要修改/e/member/class/member_registerfun.php文件找到第175行,修改成如下代码: //审核 if($ch ...

  6. 加州大学伯克利分校Stat2.3x Inference 统计推断学习笔记: FINAL

    Stat2.3x Inference(统计推断)课程由加州大学伯克利分校(University of California, Berkeley)于2014年在edX平台讲授. PDF笔记下载(Acad ...

  7. ( 译、持续更新 ) JavaScript 上分小技巧(二)

    考虑到文章过长,不便于阅读,这里分出第二篇,如有后续,每15个知识点分为一篇... 第一篇地址:( 译.持续更新 ) JavaScript 上分小技巧(一) 第三篇地址:( 译.持续更新 ) Java ...

  8. dubbo 学习总结

    1 Dubbo 配置 dubbo配置xml配置     属性配置  注解配置   api配置 注解配置 (+) (#) 服务提供方注解: import com.alibaba.dubbo.config ...

  9. 捉襟见肘之UIViewAnimationOptions

    [UIView animateWithDuration:duration delay:0.0f options:(curve << | UIViewAnimationOptionBegin ...

  10. ASP.NET 递归将分类绑定到 TreeView

    CREATE TABLE [dbo].[sysMenuTree]([NoteId] [decimal](18, 0) NOT NULL,[ParentId] [decimal](18, 0) NULL ...