1. 程式人生 > >git init 命令詳解

git init 命令詳解

通過翻譯git init 的命令文件,加上自己的一些體會,來加深理解。

git-init(1) Manual Page

NAME

git-init - Create an empty Git repository or reinitialize an existing one

SYNOPSIS

git init [-q | --quiet] [--bare] [--template=<template_directory>]
          [--separate-git-dir <git dir>]
          [--shared[=<permissions>]] [directory]

DESCRIPTION

This command creates an empty Git repository - basically a .gitdirectory with subdirectories forobjects, refs/heads,refs/tags, and template files. An initialHEAD file that references the HEAD of the master branch is also created.

If the $GIT_DIR environment variable is set then it specifies a path to use instead of./.git

for the base of the repository.

If the object storage directory is specified via the$GIT_OBJECT_DIRECTORY environment variable then the sha1 directories are created underneath - otherwise the default$GIT_DIR/objectsdirectory is used.

Running git init in an existing repository is safe. It will not overwrite things that are already there. The primary reason for rerunninggit init

is to pick up newly added templates (or to move the repository to another place if --separate-git-dir is given).

案例1 :

            >: mkdir test_1 ; cd test_1 ; git init

            這個是最常用的場景。將會在當前目錄建立 .git 目錄。

案例2 :

            >: git init --bare c:/hehehe/dd.git

            這個是建立一個裸庫

            如果不指定目錄,例如 : git init --bare 將在當前目錄直接生成一堆庫檔案,即相當於將當前目錄做為了原來的 .git 目錄

案例3 :

            >: git init c:/hehedd

                    Initialized empty Git repository in c:/hehedd/.git/

            >: git init --bare c:/hehehe/dd.git

                   Initialized empty Git repository in c:/hehehe/dd.git/

            >: git init --bare

                   Initialized empty Git repository in c:/Users/Administrator/git/

            >: git init --separate-git-dir c:/hehed

                   Initialized empty Git repository in c:/hehed/

             從以上的輸出可以看出,都會在指定的目錄直接生成和.git目錄一樣的一堆檔案。

             我曾經認為的

                     1. 倉庫 = 版本庫 + 工作區

                     2. 版本庫(.git資料夾)

                     3. 工作區(除了.git外的檔案)

            或許在git看來 , Git repository 更加傾向於版本庫,也就是說 Git repository 指的可能是就是版本庫 , 不再有倉庫的概念,所以git版本庫的目錄形式如下 :

                     1. 版本庫 (包含工作區) , 版本庫名稱為 Test

                          Test

                              - .git/

                                  - hooks/

                                  - info/

                                  - ...

                              - pom.xml

                              - src/

                      2. 版本庫(不包含工作區) ,版本庫名稱為 Test

                            Test.git

                                - hooks/

                                - info/

                                - objects/

                                - refs/

                                - config

案例4 :

            >: mkdir test_1 ; cd test_1 ; git init

            >: echo aaa>a.txt

            >: git add a.txt

            >: git commit -m "a.txt"

            >: git log (有一條記錄)

            >: git init (重新初始化)

            >: git log (還是有一條記錄,說明重新初始化是不會覆蓋原來東西的,即麼重新初始化的應用場景是什麼呢 ? )

未完待續。。。

相關推薦

git init 命令

通過翻譯git init 的命令文件,加上自己的一些體會,來加深理解。 git-init(1) Manual Page NAME git-init - Create an empty Git repository or reinitialize an existing

git 常用命令

git最重要2命令:git clone git://github.com/schacon/grit.git 從服務器上將代碼給拉下來git pull 本地與服務器端同步一、 Git 命令初識在正式介紹Git命令之前,先介紹一下Git 的基本命令和操作,對Git命令有一個總體的認識示例:從Git 版本庫的初始化

init命令

init是Linux系統操作中不可缺少的程式之一。所謂的init程序,它是一個由核心啟動的使用者級程序。核心會在過去曾使用過init的幾個地方查詢它,它的正確位置(對Linux系統來說)是/sbin/init。如果核心找不到init,它就會試著執行/bin/sh,如果執行失敗,系統的啟動也會失敗。

git checkout 命令—— Git 學習筆記 15

git checkout 命令詳解 概覽 git checkout 這條命令的常用格式如下: 用法一 git checkout [<commit>] [--] <paths>

Linux(9)RedHat7 基本命令八-init命令

導言 很久沒寫linux博文了,最近的一次是第八篇文章,教了shutdown命令,本次教init命令。 init命令是Linux下的程序初始化工具,init程序是所有Linux程序的父程序,它的程序

Git 常用命令(轉)

      一、 Git 命令初識 在正式介紹Git命令之前,先介紹一下Git 的基本命令和操作,對Git命令有一個總體的認識 示例:從Git 版本庫的初始化,通常有兩種方式: 1)git clone:這是一種較為簡單的初始化方式,當你已經

Git常用命令

git config --global user.name "bukas"git config --global user.email "[email protected]" 獲取git配置資訊,執行以下命令: git config --list 建立版本庫 什麼是版本庫呢?版本庫又

Git add命令

     用途:可以用來跟蹤新檔案,或者新增已被修改的跟蹤的檔案到快取區,或者把合併的衝突檔案標記為已解決,     git add的原意是更新當前工作目錄樹修改的內容到索引中(也就是快取中去)    主要針對兩種檔案:(1)版本庫沒有跟蹤的檔案(2)版本庫已經跟蹤,但是修改了的檔案   另外git add會

git checkout 命令

在日常的git操作中,git checkout——檢出,是我們的常用命令。最為常用的兩種情形是建立分支和切換分支。 (一)基礎——千里之行,始於切糕(checkout) 先熟悉下常用操作,建立分支和切換分支,也可以稱為檢出分支。 首先我們新建一個倉庫gitTest

git 操作命令

比較 clone 模式 開發 是把 ins ren 之一 擁有 git 什麽是git 開源的分布式版本控制系統, 用於高效的管理大小項目和文件 代碼管理工具 防止代碼丟失, 做備份 代碼版本管控, 設置節點, 多版本切換 建立分支各自開發, 互不影響, 方便

git checkout命令

開發十年,就只剩下這套架構體系了! >>>   

git基礎命令

一些必須要知道的概念 git的三個工作區域:工作目錄、暫存區、git倉庫。 工作目錄:其實就是本地檔案磁碟上的檔案或目錄; 暫存區:是一個檔案,儲存了下次提交的檔案列表資訊,一般在git倉庫目錄中; git倉庫:就是儲存專案或檔案的元資料和物件資料庫的。其中包含了你提交給git的所有完整版本庫。 基本的git

git clone push fetch remote pull五大命令

對Githubde 的學習就到這了,希望對大家有所幫助!大家共同學習共同進步! Git是目前最流行的版本管理系統,學會Git幾乎成了開發者的必備技能。 Git有很多優勢,其中之一就是遠端操作非常簡便。本文詳細介紹5個Git命令,它們的概念和用法,理

Git reset 中 命令

A——working (工作區) : a.txt 有修改 B------index (暫存區)  :b.txt 有修改 C -----HEAD   D -----HEAD^ git reset --soft 完全保留 工作區和暫存區,僅改變 HEAD的指向的位置(所

Git團隊協作使用規範 以及一些常用命令

檢視提交歷史 在提交了若干更新之後,又或者克隆了某個專案,想回顧下提交歷史,可以使用 git log 命令。 git clone git://github.com/schacon/simplegit-progit.git cd simplegit-progit/ 然後在此專案中執行 git log,應該會看到

git命令( 四 )

inf 讓我 指定 提交 調整 ref spa 失敗 命令 此篇為git命令詳解的第四篇,話不多說,我們直接上知識點好吧    git Push   偏離的工作    gitPush:   此命令負責將你的變更上傳到指定的遠程倉庫,並在遠程倉庫上合並你的新提交記錄

git命令( 七 )

兩條命令 技術 但是 靈活 用法 開發 分享 還記得 們的 此為git命令詳解的第七篇 這章我們可以來逐漸揭開 git push、fetch 和 pull 的神秘面紗了。我們會逐個介紹這幾個命令,它們在理念上是非常相似的。    git push的參數   git

tar命令

pan 詳解 time border 設備 lin bsp force names 解壓到指定目錄 tar -zxvf flash_player_npapi_linux.x86_64.tar.gz -C mmtar -zxvf flash_player_npapi_linu

Linux下安裝軟件命令

代碼包 相關信息 make bin 一個 軟件包 輸入 -i bin文件 Linux下軟件安裝方法總結:一、rpm包安裝方式步驟:1、找到相應的軟件包,比如soft.version.rpm,下載到本機某個目錄;2、打開一個終端,su -成root用戶;3、cd soft.v

Docker常用命令

nbsp 詳解 .cn 本地 test 並且 www 更多 top docker ps 查看當前正在運行的容器 docker ps -a 查看所有容器的狀態 docker start/stop id/name 啟動/停止某個容器 docker attach id 進