源站: 老姜博客 Git讲之git init

git init命令主要用来将项目文件设置为通过git来进行版本管理.

该命令会在需要管理的文件的根目录中创建一个.git的隐藏目录,该目录保存着整个版本改动的历史记录,我们日常使用中不需要操作这个目录的.

通过执行git的相关命令来完成日常的版本的管理工作,这些命令背后的实质还是在操作.git目录中的项目文件.

下面创建一个新的目录,初始化进行git版本管理.

$ mkdir git-sample
$ cd git-sample/
$ git init
Initialized empty Git repository in C:/Users/jiangjian/AppData/Local/Temp/git-sample/.git/
$ ls -al .git/
total 11
drwxr-xr-x 1 jiangjian 197121   0 12月 16 13:55 ./
drwxr-xr-x 1 jiangjian 197121   0 12月 16 13:55 ../
-rw-r--r-- 1 jiangjian 197121 130 12月 16 13:55 config
-rw-r--r-- 1 jiangjian 197121  73 12月 16 13:55 description
-rw-r--r-- 1 jiangjian 197121  23 12月 16 13:55 HEAD
drwxr-xr-x 1 jiangjian 197121   0 12月 16 13:55 hooks/
drwxr-xr-x 1 jiangjian 197121   0 12月 16 13:55 info/
drwxr-xr-x 1 jiangjian 197121   0 12月 16 13:55 objects/
drwxr-xr-x 1 jiangjian 197121   0 12月 16 13:55 refs/

以上几个文件或者目录分别存放的内容描述如下:

  • config: 用来保存git项目的配置属性

可以通过git config来进行相关的配置.

$ git config user.name jiangjian
$ cd .git/
$ cat config
[core]repositoryformatversion = 0filemode = falsebare = falselogallrefupdates = truesymlinks = falseignorecase = true
[user]name = jiangjian
  • description: 项目的描述
  • HEAD: 当前的分支或者指向commitId(当处于detached HEAD状态)
  • hooks/: 提供的是一些git hook 的示例
  • info/: 提供exclude的patterns
$ cd info/
$ ls
exclude
$ ll
total 1
-rw-r--r-- 1 jiangjian 197121 240 12月 16 13:55 exclude
$ cat exclude
# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~
  • objects/: 这个相当于git的数据库,这里面保存着所有的文件信息,里面保存着四类文件,在后续的章节中进行说明
  • refs/:主要用来存放指向特定commitId,相当于索引.

以上的几个文件和目录现阶段主要了解个大概,后续章节逐步展开描述.

【Git】git init相关推荐

  1. 【git】git命令和相关脚本

    目录 git clone git checkout git diff git add git pull --rebase git pull git fetch git reset git stash ...

  2. 【Git】git使用 - 各种常用场景命令解决

    (多看git中的各种帮助-h/--help,可能有你想要的命令) 1.分支的创建和切换 创建 >>>> git branch branchName 切换分支 >>& ...

  3. 【Git】Git 分支管理 ( 解决分支合并冲突 | 本地处理文件冲突 )

    文章目录 一.本地处理文件冲突 一.本地处理文件冲突 在下面的 [Git]Git 分支管理 ( 解决分支合并冲突 | 创建并切换分支 git switch -c feature1 | 修改 featu ...

  4. 【Gitlab】GIT回滚master分支到指定tag版本 并提交远程仓库

    [Gitlab]GIT回滚master分支到指定tag版本 并提交远程仓库 1 查看分支 git branch 2 切换到master分支 git checkout master 3 查看标签 git ...

  5. 【git】git 使用 Submodule 管理子模块 报错 pathspec did not match any files

    本文为博主九师兄(QQ:541711153 欢迎来探讨技术)原创文章,未经允许博主不允许转载. 文章目录 1.概述 1.概述 本文为博主九师兄(QQ:541711153 欢迎来探讨技术)原创文章,未经 ...

  6. 【经验之谈】Git使用之TortoiseGit配置VS详解

    2019独角兽企业重金招聘Python工程师标准>>> [经验之谈]Git使用之TortoiseGit配置VS详解 转载于:https://my.oschina.net/u/1416 ...

  7. 【git】git忽略文件 取消忽略文件

    [git]git忽略文件 取消忽略文件 一.git忽略文件 (一)通常操作 忽略成功后会出现灰色图标 git根目录下有一个.gitignore文件,被忽略的文件全部会添加到里面 相关过滤规则举例说明: ...

  8. 【Git】Git获取Commit修改文件列表

    Git获取Commit修改文件列表 获得Git本次Commit修改的文件 #!/bin/bash# 命令格式 # 会列出compare2与compare1的不同. # git diff --name- ...

  9. 【git】git操作命令和相关脚本

    目录 git clone git checkout git diff git add git pull --rebase git pull git fetch git reset git stash ...

  10. 【记录】git error:bad signature 解决方法

    [记录]git error:bad signature 解决方法 参考文章: (1)[记录]git error:bad signature 解决方法 (2)https://www.cnblogs.co ...

最新文章

  1. python正确的变量名称_Python基础之变量的命名
  2. Redhat5.4 系统上部署 MooseFS分布式文件系统的部署
  3. 机器学习-01regression
  4. ubuntu16.04 kinetic外接Intel Realsense D435i配置教程
  5. 首次公开!华为最前沿的X Labs实验室都在研究什么?5G+CV
  6. DSO 中的Windowed Optimization
  7. js 原生对象排序
  8. list在c语言中的作用,在C语言中大略实现VC++中的LISTARRAY功能方法(一)
  9. 融合存储超越统一存储
  10. RocketMQ Message hasn‘t been sent. Caused by No route info of this topic, Pr
  11. pytorch多gpu并行训练
  12. linux的审计功能(audit)
  13. 微信小程序-服务通知的订阅与下发(基于云调用)
  14. java使用poi制作的ppt被损坏_poi操作ppt创建表格,结果却是这样?
  15. 【面试题】「2023」JavaScript 最新高频 前端面试题 指南 (必看)
  16. 编程思想-编程范式-编程思想是一组世界观和方法论-(初识范式——程序王国中的世界观与方法论)...
  17. 怎样隐藏Android软件盘
  18. flask中的所有第三方模块大集合
  19. 没穿越的小伙伴,来领个随身老爷爷
  20. [Introduction to AI] Local Search::Hill Climbing (最陡上升)

热门文章

  1. 为什么微信付款服务器异常,微信付款怎么老是交易异常怎么回事?可能是这些原因...
  2. 微信小程序开发 网络异常监听
  3. AngularJS笔记
  4. OSChina 周一乱弹 —— 达叔撸猫图还是满满的少女心
  5. HTML语言中表格怎么弄,html语言中table表格内怎么换行
  6. Altium designer--LM317/LM337封装图
  7. mysql 浮点类_MySQL浮点类型总结
  8. python练习题(一):输入某年某月某日,判断这一天是这一年的第几天
  9. sqlite developer过期解决办法
  10. 【服务器数据恢复】IBM DS系列存储硬盘故障导致RAID5崩溃的数据恢复