gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区

站長資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

實(shí)例詳解git init和git clone獲取git倉庫

本篇文章給大家?guī)砹岁P(guān)于Git的相關(guān)知識,其中主要介紹了git init和git clone獲取git倉庫的相關(guān)問題,包括了git clone 從已有的Git存儲數(shù)據(jù)庫中克隆倉庫到本地目錄等相關(guān)內(nèi)容,希望對大家有幫助。

實(shí)例詳解git init和git clone獲取git倉庫

推薦學(xué)習(xí):《Git教程》

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

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

  • 將本地未進(jìn)行版本控制的本地目錄轉(zhuǎn)換為Git倉庫;

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

1 git init 在本地目錄上創(chuàng)建Git倉庫

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

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

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

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

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

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

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>]

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

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

推薦學(xué)習(xí):《Git教程》

贊(0)
分享到: 更多 (0)
網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区
国产一区二区在线免费播放| 欧美性潮喷xxxxx免费视频看| 免费国产成人看片在线| 性生交免费视频| 美女av免费在线观看| 国产欧美日韩网站| 缅甸午夜性猛交xxxx| 无码av天堂一区二区三区| 亚洲中文字幕无码一区二区三区| www.成年人| 中国一级大黄大黄大色毛片| 最新av在线免费观看| 激情图片qvod| 国产玉足脚交久久欧美| 久久久性生活视频| 欧美aⅴ在线观看| 噼里啪啦国语在线观看免费版高清版| 丰满少妇在线观看| 国产精品嫩草影视| 精品无码av无码免费专区| 97碰在线视频| 国产午夜福利视频在线观看| 欧美精品aaaa| 日韩视频一二三| 狠狠操精品视频| 在线视频一二区| 久久视频这里有精品| 欧美三级理论片| 特色特色大片在线| 欧美三级午夜理伦三级| 黄色三级视频片| 精品成在人线av无码免费看| 久久无码高潮喷水| www.亚洲一区二区| 久久久久久久久久久免费视频| 999久久久精品视频| 99在线精品免费视频| 亚洲精品午夜在线观看| 加勒比成人在线| 天天综合成人网| 亚洲成熟丰满熟妇高潮xxxxx| 艳母动漫在线免费观看| 欧美 国产 小说 另类| 四虎永久免费网站| 香蕉视频禁止18| 国产二级片在线观看| 乱子伦一区二区| 日本高清久久久| 成人中文字幕av| 欧美二区在线视频| www婷婷av久久久影片| 偷拍盗摄高潮叫床对白清晰| 激情综合网婷婷| 日韩精品视频久久| 大j8黑人w巨大888a片| 国产视频在线观看网站| 日韩欧美理论片| 在线播放免费视频| 亚洲欧美日韩三级| wwwwxxxx日韩| 性生交免费视频| 中文字幕第21页| 国产一线二线三线在线观看| 亚洲成熟丰满熟妇高潮xxxxx| 成人性生活视频免费看| 欧美日韩视频免费| 阿v天堂2018| 国产日本在线播放| 高清欧美精品xxxxx| 热这里只有精品| 亚洲熟妇无码av在线播放| 少妇高潮大叫好爽喷水| 蜜臀av.com| 国产精品69久久久| av免费观看网| 91看片就是不一样| 亚洲一级免费观看| 做a视频在线观看| xxxxxx在线观看| 全黄性性激高免费视频| 99蜜桃臀久久久欧美精品网站| 亚洲午夜无码av毛片久久| 国产精品第12页| av噜噜在线观看| 国产成人生活片| 伊人成色综合网| 精品亚洲一区二区三区四区| 亚洲自拍第三页| 国产中文字幕二区| 制服丝袜综合网| 日本男女交配视频| 国产精品入口免费软件| 一本之道在线视频| 妞干网在线视频观看| 美女网站视频黄色| 成人毛片100部免费看| avav在线看| 青青草免费在线视频观看| 国产特级黄色大片| 99久久99精品| 日本成年人网址| 黄色一级片av| 色综合色综合色综合色综合| 国产成人亚洲综合无码| 一级黄色特级片| 狠狠97人人婷婷五月| 在线观看免费视频污| 免费日韩视频在线观看| 日韩精品手机在线观看| 国产女同无遮挡互慰高潮91| 人体内射精一区二区三区| 国产精品久久久久久久av福利| 日韩精品一区在线视频| 亚洲第一精品区| 99re精彩视频| 久久综合久久色| 国产亚洲综合视频| 777777av| 91免费黄视频| bt天堂新版中文在线地址| 日日夜夜精品视频免费观看| 国产aaa一级片| 青青青免费在线| 午夜免费福利小电影| 国产性生活免费视频| 日韩人妻一区二区三区蜜桃视频| 中文字幕视频三区| 在线观看国产一级片| 日本精品久久久久中文字幕| 国产精品第12页| 少妇人妻互换不带套| 日本精品免费在线观看| 国自产拍偷拍精品啪啪一区二区| 成人黄色大片网站| 国产九九九九九| 北条麻妃69av| 欧美性猛交久久久乱大交小说| 老太脱裤让老头玩ⅹxxxx| 国产日韩av网站| 国产成人精品视频免费看| 欧美精品色婷婷五月综合| 日韩av在线综合| 亚洲国产日韩欧美在线观看| 欧美伦理片在线看| 国产一伦一伦一伦| 欧美aaa在线观看| 免费在线看黄色片| 看av免费毛片手机播放| 国产野外作爱视频播放| 女人高潮一级片| 精品无码av无码免费专区| 99热亚洲精品| 宅男噜噜噜66国产免费观看| 亚洲一区二区在线视频观看| 色哺乳xxxxhd奶水米仓惠香| 成人免费性视频| 狠狠躁狠狠躁视频专区| 久久久无码中文字幕久...| 日韩欧美视频网站| 天天操精品视频| 自拍日韩亚洲一区在线| 久久国产这里只有精品| 毛片av在线播放| 妺妺窝人体色www在线观看| 日本久久高清视频| 精品免费国产一区二区| 午夜激情影院在线观看| 夫妻免费无码v看片| 中国老女人av| 十八禁视频网站在线观看| 久久观看最新视频| 亚洲激情在线观看视频| www.国产在线视频| 久久久福利影院| 国产成人久久婷婷精品流白浆| 在线成人免费av| 久久久久久久片| 三上悠亚久久精品| 天天做天天躁天天躁| 日韩在线不卡一区| 亚洲狼人综合干| 精品99在线视频| 日韩 欧美 视频| 日本三日本三级少妇三级66| 一区二区三区入口| 成人三级视频在线播放| 国产资源第一页| 中文字幕在线视频一区二区| 午夜久久福利视频| 欧美污视频网站| 亚洲色成人一区二区三区小说| 成年人深夜视频| 一级性生活视频| xxxxxx在线观看| 中文字幕の友人北条麻妃| 污网站在线免费| 国产美女18xxxx免费视频| 国产精品久久久毛片| 精品久久久久久久无码| 美女黄色片视频|