久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合

站長資訊網
最全最豐富的資訊網站

實例詳解git init和git clone獲取git倉庫

本篇文章給大家帶來了關于Git的相關知識,其中主要介紹了git init和git clone獲取git倉庫的相關問題,包括了git clone 從已有的Git存儲數據庫中克隆倉庫到本地目錄等相關內容,希望對大家有幫助。

實例詳解git init和git clone獲取git倉庫

推薦學習:《Git教程》

使用git init和git clone獲取git倉庫

通常獲取git倉庫有兩種方式:

  • 將本地未進行版本控制的本地目錄轉換為Git倉庫;

  • 從其他服務器上克隆一個已存在的Git倉庫;

1 git init 在本地目錄上創建Git倉庫

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

該命令創建一個空的Git存儲數據庫,基本上會在.git目錄中創建objectsrefs/headsrefs/tags,和模板文件。還會創建一個引用主分支的HEAD的初始HEAD文件。
如果$GIT_DIR環境變量被指定了,則會替代./.git目錄作為一個存儲庫的基礎。
如果objects目錄是通過$GIT_OBJECT_DIRECTORY環境變量指定的,那么在此目錄下創建sha1目錄,否則就是默認的$GIT_DIR/objects目錄。
在已有的Git存儲庫中運行git init是安全的,他不會覆蓋已存在的東西。重新運行git init的主要原因是獲取新添加的模板(或者如果是--separate-git-dir選項,則將Git存儲庫移到另一個地方)。

  • [-q, --quite]
    只打印錯誤信息和警告信息;
  • [--bare]
    創建一個裸倉庫,不包括.git文件夾,如下:
    實例詳解git init和git clone獲取git倉庫
  • [--template=<template_directory>]
    用于在初始化Git倉庫時將模板文件夾中的文件拷貝到我們初始化時的.git存儲數據庫中,如果不指定,默認拷貝的是/usr/share/git-core/templates路徑下的模板,里面包括如下內容:
    $ ls /usr/share/git-core/templates/ branches  description  hooks  info

    如果指定自己默認路徑則初始化的Git存儲數據庫如下: 實例詳解git init和git clone獲取git倉庫
    其中模板依次可通過--template=<DIR>設置,$GIT_TEMPLATE_DIR環境變量設置,init.templateDir 配置設置,并且依次覆蓋下一級設置。

  • [--separate-git-dir <git dir>]
    默認git init會在當前目錄下創建一個.git文件夾來儲存Git數據庫,此命令可指定一個路徑來初始化Git存儲數據庫,并在本地創建一個.git文件來鏈接到指定的目錄中去:
    實例詳解git init和git clone獲取git倉庫
    可以看到本地只有一個.git文件,文件中描述了當前倉庫的Git存儲數據庫具體位置在哪里,并自動鏈接過去。
  • [--shared[=<permissions>]]
    用于指定創建的Git存儲數據庫的讀寫權限,包括同組用戶,所有用戶等等權限設置,如果沒有指定默認是group權限。感興趣可以git init --help查看此選項具體用法。
  • [directory]
    如果指定了此選項,git init命令則會在此目錄中運行,如果目錄不存在還會創建該目錄。

2 git clone 從已有的Git存儲數據庫中克隆倉庫到本地目錄

git clone [--template=<template_directory>]           [-l] [-s] [--no-hardlinks] [-q] [-n] [--bare] [--mirror]           [-o <name>] [-b <name>] [-u <upload-pack>] [--reference <repository>]           [--dissociate] [--separate-git-dir <git dir>]           [--depth <depth>] [--[no-]single-branch] [--no-tags]           [--recurse-submodules[=<pathspec>]] [--[no-]shallow-submodules]           [--[no-]remote-submodules] [--jobs <n>] [--sparse] [--] <repository>           [<directory>]

克隆一個倉庫到新被創建的目錄中,為克隆的Git存儲庫中每個分支創建遠程跟蹤分支(通過git branch --remotes可查看跟蹤分支),并創建和檢出克隆倉庫當前活躍的分支到本地初始分支。
克隆完成后,一個不帶參數的git fetch命令可以更新所有遠程跟蹤分支,并且不帶參數的git pull命令還會將遠程主分支合并到當前分支中。
這個默認配置是通過在refs/remotes/origin下創建對遠程分支頭的引用并且初始化remote.origin.urlremote.origin.fetch配置變量實現的。

  • [--template=<template_directory>]
    請看git init相關選項獲取此選項作用。
  • [-l, --local]
    用于從本地Git存儲倉庫克隆Git存儲數據庫,此選項會拷貝本地的refs,HEAD等信息到克隆的Git存儲數據庫,并將.git/objects通過硬鏈接形式鏈接到本地Git存儲庫以節約本地空間。
    如果未指定-l選項但[url]是本地路徑則還是會默認進行-l選項的行為,但是如果指定的是--no-local選項對本地倉庫進行克隆則會走默認的git clone流程:
    實例詳解git init和git clone獲取git倉庫
  • [-s, --shared]
    當克隆的倉庫在本地時,默認是將本地倉庫中.git/objects的對象通過硬鏈接的方式鏈接到本地的克隆倉庫,使用此選項不會再硬鏈接.git/objects目錄,而是在本地的.git/objects/info目錄中創建一個alternates文件并在其中描述objects原先的位置并進行共享使用。
    注意:這個選項是一個危險的選項,除非你明白它的作用,否則不要使用它。如果使用這個選項克隆了本地倉庫,然后刪除了源倉庫中的分支,一些對象可能會變成未被引用狀態。而這些對象是可能被git的命令(git commit內部可能自動調用git gc --atuo)刪除的,從而導致倉庫被破壞。
    還需要注意:在用-s選項克隆的存儲庫中運行git repack時,如果沒有指定--local,-l選項,則會將源存儲庫中的objects復制到克隆存儲庫中的一個包里面,從而消除了--shared選項帶來的共享效果和節省的空間。直接運行git gc是安全的,因為默認使用的--local,-l選項。
    如果想在-s選項指定的倉庫中打破對共享的依賴,則可以使用git repack -a命令將源存儲庫中的所有對象復制到克隆的存儲庫的一個包中。
  • [--no-hardlinks]
    強制在克隆本地倉庫時使用拷貝的形式復制.git/objects中的內容而不是使用硬鏈接的形式,在進行Git存儲庫備份時這個選項就很有用。
  • [-q, --quite]
    安靜的運行命令,進度不會報告到標準錯誤流中。
  • [-n, --no-checkout]
    克隆完成后不執行檢出HEAD操作:
    實例詳解git init和git clone獲取git倉庫
  • [--bare]
    創建一個裸的Git倉庫。也就是說不創建<directory>/.git目錄也不會將管理文件放到<directory>/.git中,而是為自己創建一個<directory>或者<directory>.git目錄,里面保存的就是實際的Git數據庫。這個選項也默認是--no-checkout的,不會檢出任何HEAD,也不會自動跟蹤任何遠程分支,也不會創建相關的配置變量。
  • [--mirror]
    設置源Git存儲庫的鏡像。類似于--bare,對比--bare--mirror不僅僅映射源的本地分支到目標的本地分支,它還映射所有引用(包括遠程跟蹤分支,筆記等),并設置refspec配置,以便所有這些引用都被目標存儲庫中的git遠程更新覆蓋。
    注意:--bare--mirror都是針對服務器使用,因為服務器只需要保存Git存儲數據庫而不需要實際操作git命令,所以當你在這兩個選項創建的存儲庫執行Git命令會得到下面的打印:
    fatal: this operation must be run in a work tree
  • [-o <name>, --origin <name>]
    未使用此選項時默認使用origin來跟蹤遠程倉庫,使用此選項后使用<name>來跟蹤遠程倉庫。
  • [-b <name>, --branch <name>]
    不要將新創建的HEAD指向克隆倉庫HEAD指向的分支,而是指向<name>分支。
  • [-u <upload-pack>, --upload-pack <upload-pack>]
    在使用ssh訪問要克隆的Git存儲庫時,它為另一端運行的命令指定了一個非默認的路徑。這個選項主要針對Git服務器使用,為服務器使用的git等指定了一個路徑。一般是/usr/bin/git-upload-pack,當服務器的git運行時會自動找到此路徑的程序。
  • [--reference[-if-able] <repository>]
    如果引用的Git存儲庫在本地機器上,自動的會設置.git/objects/info/alternates文件來從引用源存儲庫來獲取objects,使用已經存在的Git存儲庫作為替代將會需要更少的objects被從源存儲庫拷貝過來,從而降低網絡和本地存儲成本。當使用--reference-if-able時,會跳過不存在的目錄,并發出警告,而不是中止克隆。
  • [--dissociate]
    --reference引用的Git存儲庫借用objects對象僅減少網絡傳輸,并且在通過對借用objects進行必要的本地復制來進行克隆后,停止從引用庫中借用對象。當本地克隆已經從另一個存儲庫借用objects時,可以使用此選項來停止新存儲庫從相同的存儲庫借用objects。此選項也主要用于Git服務器。
  • [--separate-git-dir <git dir>]
    請看git init相關選項獲取此選項作用。
  • [--depth <depth>]
    創建一個淺克隆,其需要克隆的提交數量由<depth>指定,并獲取所有分支頂部提交往后<depth>提交數量克隆到本地。如果也想簡單克隆子模塊也可以傳遞--shallow-submodules選項。
  • [--[no-]single-branch]
    顧名思義,--single-branch只會克隆Git存儲庫中指定的一個分支,遠程Git存儲庫中其他分支不會在本地被克隆下來,也不會在本地跟蹤其他遠程分支,只會跟蹤單個遠程分支。
  • [--no-tags]
    不會克隆任何標簽下來,并且在配置中設置remote.<remote>.tarOpt=--no-tags,以確保后續git pullgit fetch也不會操作到標簽,除非顯式的操作標簽。
    可以與--single-branch一起使用,以維護單個分支,在只維護某個缺省分支時很有用。
  • [--recurse-submodules[=<pathspec>]]
    克隆創建后,根據提供的<pathspec>初始化并克隆子模塊,如果沒有指定<pathspec>則所有子模塊都被初始化和克隆。對于有多個條目的<parhspec>可以多次給出此選項。
    使用默認的此選項,相當于運行git submodule update --init --recursive <pathspec>
  • [--[no-]shallow-submodules]
    所有被克隆的子模塊都淺克隆深度為1。
  • [--[no-]remote-submodules]
    所有被克隆的子模塊的遠程跟蹤分支的狀態來更新子模塊,而不是記錄在Git數據庫中的SHA1。相當于將--remote選項傳遞給git submodule update
  • [-j <n>, --jobs <n>]
    同時取出的子模塊數,默認是配置submodule.fetchJobs
  • [--sparse]
    稀疏檢出模式,所謂稀疏檢出就是本地版本庫檢出時不檢出全部,只將指定的文件從本地版本庫檢出到工作區,而其他未指定的文件則不予檢出(即使這些文件存在于工作區,其修改也會被忽略)。這里不詳細介紹此功能。
  • [--]
    無實際作用,只是為了將選項和操作對象分開以便易于區分。
  • <repository>
    要克隆的倉庫,可能是遠程倉庫,也可能是本地倉庫,可以是https協議也可以是ssh協議或者git協議等等。
  • [<directory>]
    如果指定了此目錄,則會將Git倉庫克隆到此目錄中。
  • -v, --verbose
    冗長輸出克隆信息。
  • [-c <key>=<value>, --config <key>=<value]
    在克隆倉庫時為新創建的Git存儲庫設置一個配置變量,在克隆完成后立即生效

推薦學習:《Git教程》

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合
精品91久久久久| 亚洲激情五月| 欧美中文日韩| 久久婷婷av| 国产欧美综合一区二区三区| 欧美成人午夜| 精品国产精品久久一区免费式 | 丝袜国产日韩另类美女| 久久精品二区三区| 亚洲一级少妇| av综合电影网站| 吉吉日韩欧美| 91视频一区| 精品一区二区三区亚洲| 91国内精品| 日本中文字幕一区二区| 亚洲婷婷丁香| 亚洲精品日本| 日韩在线网址| 中文字幕一区二区三区四区久久 | 久久久一本精品| 9999国产精品| 免费看一区二区三区| 日本麻豆一区二区三区视频| 日本va欧美va瓶| 日韩高清中文字幕一区| 欧美综合社区国产| 国产精品qvod| 不卡专区在线| 欧洲一区二区三区精品| 欧洲一级精品| 欧美一区二区三区激情视频| 特黄毛片在线观看| 欧美日韩在线播放视频| 91精品韩国| 欧美日韩四区| 免费人成黄页网站在线一区二区| 蜜臀久久久久久久| 日韩福利视频导航| 欧美激情在线精品一区二区三区| 美女毛片一区二区三区四区最新中文字幕亚洲 | 日韩国产一区| av高清不卡| 欧美在线亚洲综合一区| 欧美日韩中文一区二区| 国产亚洲午夜| 日韩精选在线| 免费在线播放第一区高清av| 国产一区二区三区视频在线| 久久久免费人体| 久久不见久久见国语| 久久精品免费看| 丝袜美腿诱惑一区二区三区 | 欧美激情视频一区二区三区在线播放| 欧美xxxx性| 亚洲天堂久久| 亚洲3区在线| 国产精品mv在线观看| 色网在线免费观看| 99视频一区| 欧美精品国产| 日韩欧美一区二区三区在线视频 | 日韩视频一区| 国产精品亚洲产品| 欧美成人基地| 亚洲精品一区二区在线播放∴| 国产日韩欧美一区二区三区在线观看| 国产精品三p一区二区| 久久精品国产亚洲一区二区三区| 国产一区二区三区不卡av| 欧美丝袜一区| 亚洲精品乱码| 亚洲欧美在线专区| 精品国产亚洲日本| 午夜欧美精品久久久久久久| 日韩不卡手机在线v区| 精品一区二区男人吃奶| 国产在线成人| 国产精品极品在线观看| 91精品精品| 亚洲人www| 久久精品国产99| 久久都是精品| 国产中文欧美日韩在线| 日韩精品网站| 日韩精品一区二区三区免费视频| 四虎成人av| 亚洲不卡视频| 里番精品3d一二三区| 性欧美xxxx免费岛国不卡电影| 中文字幕av一区二区三区四区| 国产a亚洲精品| 一区二区三区四区精品视频| 欧美国产另类| 亚洲精品2区| 韩国精品主播一区二区在线观看| 亚洲大全视频| 奇米亚洲欧美| 久久激情网站| 国产亚洲人成a在线v网站 | 欧美精品羞羞答答| 青草国产精品| 日韩天堂av| 麻豆mv在线观看| 欧美一区二区三区久久精品| 婷婷激情久久| 国产精品久久久久久久久久白浆| 亚洲精品在线影院| 亚洲欧洲av| 日本欧美不卡| 久久不见久久见免费视频7| 久久久久免费av| 亚洲精品自拍| 亚洲高清二区| 成人亚洲一区| 国产精品欧美在线观看| 99re国产精品| 色婷婷久久久| 精品久久91| 欧美日韩一区二区三区四区在线观看 | 亚洲一区观看| 日韩免费视频| 国产精品夜夜夜| 亚洲色图综合| 亚洲精品小说| 日韩不卡在线| 久久国产成人午夜av影院宅| 国产精品日本一区二区三区在线| 亚洲一区二区三区在线免费| 激情五月综合网| 91亚洲一区| 麻豆国产精品一区二区三区| 美女国产精品久久久| 精品精品国产三级a∨在线| 麻豆高清免费国产一区| 欧美影院精品| 久久精品一区二区国产| 激情中国色综合| 日韩一区二区中文| 午夜视频精品| 视频一区二区国产| 日本少妇精品亚洲第一区| 国产福利一区二区三区在线播放| 给我免费播放日韩视频| 天堂а√在线最新版中文在线| 国产欧美三级| 黄色aa久久| 国产综合亚洲精品一区二| a国产在线视频| 国产精品国产一区| 欧美成人精品午夜一区二区| 欧美一区在线观看视频| 日本aⅴ亚洲精品中文乱码| 亚洲精品进入| 91精品尤物| 国产福利91精品一区二区| 国产精品白丝久久av网站| 国产欧美日韩一级| 国产精品伦一区二区| 国产精品亚洲欧美日韩一区在线| 国产日韩视频| 久久a爱视频| 成人在线黄色| 亚洲电影在线| 国产高清久久| 欧美福利专区| 一本色道精品久久一区二区三区| 亚洲经典在线| 日韩中文字幕区一区有砖一区| 亚洲一区二区三区四区五区午夜 | 999国产精品999久久久久久| 999久久久国产精品| 国内精品福利| 亚洲一区二区三区久久久| 一区二区三区四区日韩| 亚洲一区黄色| 亚洲精品影视| 欧美xxxx中国| 久久精品动漫| 午夜宅男久久久| 欧美一区激情| 国产成人精品一区二区三区免费| 麻豆mv在线观看| 91精品观看| 欧美经典一区| 久久久久.com| 中文无码日韩欧| 国产伦精品一区二区三区千人斩| 精品精品国产三级a∨在线| 日韩欧美字幕| 激情偷拍久久| 国产精品巨作av| 97se综合| 蜜桃一区二区三区在线观看| 国产欧美日韩一区二区三区四区| 日韩成人精品一区| 欧美午夜不卡| 国产欧美自拍一区| 日韩免费高清| 国产探花一区|