乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Git服務(wù)器搭建

       頭號(hào)碼甲 2020-11-19

      1、Git的簡(jiǎn)介與優(yōu)缺點(diǎn)

      什么是git?

        Git是目前世界使用最廣泛的分布式版本控制系統(tǒng),它是由林納斯·托瓦茲(Linus Torvalds)創(chuàng)作,最初的目的是為了更好地管理Linux內(nèi)核開(kāi)發(fā)而設(shè)計(jì)的。

      與svn對(duì)比優(yōu)缺點(diǎn)?

        1、與svn對(duì)比最核心區(qū)別就是Git是分布式,而svn是非分布式。這主要表現(xiàn)在使用Git時(shí)每一個(gè)開(kāi)發(fā)人員電腦本地上存在一個(gè)Local Repository,這個(gè)Local Repository包含著遠(yuǎn)程庫(kù)中的所有文件,因此,即使在沒(méi)網(wǎng)的時(shí)候也可以進(jìn)行commit提交,查看歷史版本記錄,創(chuàng)建項(xiàng)目分支等操作,等網(wǎng)絡(luò)再次連接上Push到Server端。

        2、Git把內(nèi)容按元數(shù)據(jù)方式存儲(chǔ),而SVN是按文件方式存儲(chǔ)。表現(xiàn)為.git文件與.svn文件大小區(qū)別很大

        3、SVN存在一個(gè)自增的全局版本號(hào);而Git每次提交,通過(guò)對(duì)文件的內(nèi)容或目錄的結(jié)構(gòu)計(jì)算出一個(gè)SHA-1 哈希值,得到一個(gè)40位的十六進(jìn)制字符串,以此來(lái)作為版本號(hào)。

        4、Git的內(nèi)容的完整性要優(yōu)于SVN:Git的內(nèi)容存儲(chǔ)使用的是SHA-1哈希算法。Linux kernel開(kāi)創(chuàng)者和Git的開(kāi)發(fā)者——Linus說(shuō),Git使用了SHA-1并非是為了安全性,而是為了數(shù)據(jù)的完整性;它可以保證,在很多年后,你重新checkout某個(gè)commit時(shí),一定是它多年前的當(dāng)時(shí)的狀態(tài),完全一摸一樣,完全值得信任。

        5、Git下載下來(lái)后,在OffLine狀態(tài)下可以看到所有的Log,SVN不可以。

        6、SVN必須先Update才能Commit,忘記合并時(shí)就會(huì)出現(xiàn)一些錯(cuò)誤,git還是比較少的出現(xiàn)這種情況。

        7、克隆一個(gè)新項(xiàng)目,Git只需克隆master分支;svn則需要復(fù)制所有的版本。Git省時(shí)。

        8、 版本庫(kù)(repository):SVN只能有一個(gè)指定中央版本庫(kù)。當(dāng)這個(gè)中央版本庫(kù)有問(wèn)題時(shí),所有工作成員都一起癱瘓直到版本庫(kù)維修完畢或者新的版本庫(kù)設(shè)立完成。而 Git可以有無(wú)限個(gè)版本庫(kù)?;蛘?,更正確的說(shuō)法,每一個(gè)Git都是一個(gè)版本庫(kù),區(qū)別是它們是否擁有活躍目錄(Git Working Tree)。如果主要版本庫(kù)(例如:置於GitHub的版本庫(kù))發(fā)生了什麼事,工作成員仍然可以在自己的本地版本庫(kù)(local repository)提交,等待主要版本庫(kù)恢復(fù)即可。工作成員也可以提交到其他的版本庫(kù)!

        9、SVN創(chuàng)建分支會(huì)影響其他人;Git則可以在本地創(chuàng)建任意分支,只要我不合并及提交到主要版本庫(kù),則不會(huì)影響任何人。
        10、提交(Commit)在SVN,當(dāng)你提交你的完成品時(shí),它將直接記錄到中央版本庫(kù)。當(dāng)你發(fā)現(xiàn)你的完成品存在嚴(yán)重問(wèn)題時(shí),你已經(jīng)無(wú)法阻止事情的發(fā)生了。如果網(wǎng)路中斷,你根本沒(méi)辦法提交!而Git的提交完全屬於本地版本庫(kù)的活動(dòng)。而你只需“推”(git push)到主要版本庫(kù)即可。Git的“推”其實(shí)是在執(zhí)行“同步”(Sync)。
        11、模式上會(huì)比SVN相對(duì)較復(fù)雜
       

       2、Git的安裝

        安裝環(huán)境:Linux  CentOS7

        我直接使用yum安裝,直接在linux中執(zhí)行下面兩行命令

       yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel    //安裝依賴(lài)
       yum install git        //安裝Git 也可以直接運(yùn)行yum intall git  yum會(huì)自動(dòng)安裝軟件依賴(lài)

        這樣子Git環(huán)境就安裝好了,接下老就是權(quán)限設(shè)置,哪些人可以訪(fǎng)問(wèn)這個(gè)Git服務(wù)器呢?

       

      3、用戶(hù)訪(fǎng)問(wèn)設(shè)置

        3.1、秘鑰登陸類(lèi)型

         1、首先創(chuàng)建一個(gè)用戶(hù)組以及用戶(hù)

      1 groupadd git    //創(chuàng)建git用戶(hù)組
      2 useradd git -g git   //創(chuàng)建git用戶(hù),用來(lái)運(yùn)行g(shù)it服務(wù)

        2、收集所需登陸用戶(hù)的公鑰,并將公鑰導(dǎo)入到/home/git/.ssh/authorized_keys文件里,一行一個(gè)?! ?/p>

        Linux中的公鑰在每個(gè)用戶(hù)的home目錄下(/home/用戶(hù)/.ssh),沒(méi)有則使用命令進(jìn)行創(chuàng)建:ssh-keygen -t rsa

        Windowns中的公鑰創(chuàng)建:

        使用git,打開(kāi)Git Bash。
        1. 安裝git,從程序目錄打開(kāi) "Git Bash" 
        2. 鍵入命令:ssh-keygen -t rsa -C "suifengin412@gmail.com"   //紅色字體可有可無(wú)
        3. 指定文件生成的目錄
        4. 在指定的目錄下產(chǎn)生兩個(gè)文件:id_rsa和id_rsa.pub

        進(jìn)入git家目錄,將收集的公鑰(id_rsa.pub里面的內(nèi)容),添加到authorized_keys文件中(一行一個(gè))。

        沒(méi)有authorized_keys文件則創(chuàng)建:

       cd /home/git/
       mkdir .ssh
       chmod 700 .ssh
       vim .ssh/authorized_keys
       chmod 600 .ssh/authorized_keys

        注意:.ssh 目錄必須是700權(quán)限、authorized_keys文件必須是600權(quán)限

        3.2、密碼登陸類(lèi)型

        1、創(chuàng)建登陸用戶(hù)并添加到git用戶(hù)組中

      useradd -M git1        //-M 表示不創(chuàng)建家目錄
      useradd -M git2    
      passwd git1  //設(shè)置密碼
      passwd git2
      usermod -G git git1   //將新建的兩個(gè)用戶(hù)添加到git組中                 
      usermod -G git git2 

        2、禁止新創(chuàng)建的用戶(hù)ssh登陸linux服務(wù)器

      which git-shell       //查看git-shell所在路徑 (我的是:/usr/bin/git-shell)
      vim /etc/passwd   //將用戶(hù)名稱(chēng):x:1000:1000::/home/用戶(hù)名稱(chēng):/bin/bash  將/bin/bash替換為git-shell所在路徑

      注意:

        創(chuàng)建用戶(hù)的時(shí)候加-M,主要目的是不在home目錄下生成該用戶(hù)的擁有讀寫(xiě)權(quán)限的家目錄。這是因?yàn)槲覀儎?chuàng)建的這些用戶(hù)是用于git服務(wù)上面,并不想給用戶(hù)除了git訪(fǎng)問(wèn)以外其他的權(quán)限;同理,需禁止用戶(hù)通過(guò)ssh登陸linux服務(wù)器?!?/p>

       

      4、初始化git服務(wù)器

        我們就選取git目錄作為git的倉(cāng)庫(kù)

      chmod g-w /home/git    //這個(gè)是必要的
      cd /home/git    //進(jìn)入git家目錄
      git init --bare test.git    //創(chuàng)建一個(gè)空倉(cāng)庫(kù),服務(wù)器上的Git倉(cāng)庫(kù)通常都以.git結(jié)尾
      chown -R git:git test.git/    //設(shè)置權(quán)限,因?yàn)槲沂褂胷oot來(lái)創(chuàng)建這個(gè)空倉(cāng)庫(kù),因此需要變相應(yīng)的權(quán)限設(shè)置
      chmod  -R 775 test.git/     //設(shè)置所屬組的所有權(quán)限,否則秘鑰類(lèi)型push不成功

        注意:變更文件的所有者以及組權(quán)限非常重要,切記。

      5、克隆倉(cāng)庫(kù)

      git clone git@git_ip:/home/gitrepo/runoob.git   //git_ip為Git所在服務(wù)器ip ,需要將其修改為你自己的 Git 服務(wù)ip。

       

      6、參考資料

       1. 《話(huà)說(shuō)Svn與Git的區(qū)別(以后別再問(wèn)我了)》

       

      (以上是自己的一些見(jiàn)解,若有不足或者錯(cuò)誤的地方請(qǐng)各位指出)

       作者:那一葉隨風(fēng)   http://www.cnblogs.com/phpstudy2015-6/

       原文地址:https://www.cnblogs.com/phpstudy2015-6/p/9153497.html

       聲明:本博客文章為原創(chuàng),只代表本人在工作學(xué)習(xí)中某一時(shí)間內(nèi)總結(jié)的觀點(diǎn)或結(jié)論。轉(zhuǎn)載時(shí)請(qǐng)?jiān)谖恼马?yè)面明顯位置給出原文鏈接

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶(hù) 評(píng)論公約

        類(lèi)似文章 更多