配置屬于自己的Git遠(yuǎn)程倉(cāng)庫(kù)

配置屬于自己的Git遠(yuǎn)程倉(cāng)庫(kù)

全球最大的同性交友平臺(tái)(GitHub)是碼農(nóng)們的樂(lè)園,今天就分享一下如何搭建一個(gè)私人Git遠(yuǎn)程倉(cāng)庫(kù);

拋開(kāi)需求談問(wèn)題就是耍流氓,我們?yōu)槭裁葱枰约捍罱ㄋ饺说腉it倉(cāng)庫(kù)呢~有GitHub不就夠了嘛,還要這些東西干啥; 很多時(shí)候我們做的事情并不是代表這個(gè)事情有確切的用處,而是為了我們自己更好的學(xué)(zhuang)習(xí)(bi),我做這些事情,不代表有什么用,而代表 我能做 ~~

其實(shí)實(shí)際上還有有作用的

例如:在某公司或者需要保密代碼但是有需要多人協(xié)作的時(shí)候,擁有一個(gè)私人的Git代碼倉(cāng)庫(kù)就會(huì)十分有用處. 好啦,接下來(lái)我們就一起進(jìn)入學(xué)(zhuang)習(xí)(bi)之旅吧;

文章一共有3個(gè)階段

1. 在Linux安裝Git

2. 讓Linux的Git能被其他電腦訪問(wèn)

3. 讓這種感覺(jué)變得更爽


1. 在Linux安裝Git

第一步當(dāng)然是需要有一個(gè)Linux系統(tǒng)咯~~,這里怎么裝linux系統(tǒng)和裝什么linux系統(tǒng)我就不說(shuō)啦.這個(gè)網(wǎng)上教程一搜一大把,簡(jiǎn)單介紹下我用的linux,是window10的WindowsLinuxSubsystem - ubuntu 18.04LTS ;

安裝好linux后,第一件事當(dāng)然是更換源咯.因?yàn)閡buntu官方自帶的源服務(wù)器在國(guó)外,然后你懂的~

我們使用
bash $ cp /etc/apt/source.list ./source.list.back $ sudo vim /etc/apt/source.list
網(wǎng)易云的鏡像源替換原本的源;
bash deb http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse
然后刷新軟件列表
bash $ sudo apt update
現(xiàn)在就要嘗試一下你的linux中有沒(méi)有g(shù)it
bash $ git --version $ git version 2.17.1
如果沒(méi)有安裝git的話
bash $ sudo apt install git #安裝git

安裝好之后第一步就完成啦

是不是很簡(jiǎn)單;
是的在linux上我們已經(jīng)完成了 1/3 的工作;


2. 讓Linux的Git能被其他電腦訪問(wèn)

眾所周知,git是一個(gè)分布式版本管理軟件,也就是說(shuō),任何一個(gè)安裝的git的電腦既可以是一個(gè)客戶(hù)端也是一個(gè)服務(wù)端,既可以是我們?nèi)粘0岽u的工作區(qū)間,也可以是別人來(lái)搬磚的遠(yuǎn)程倉(cāng)庫(kù);
好的現(xiàn)在有一個(gè)問(wèn)題,那就是如何讓別人訪問(wèn)到你的git倉(cāng)庫(kù)(也就是訪問(wèn)你的文件)
答案當(dāng)然是ssh,我們只需要開(kāi)啟ssh 服務(wù)器服務(wù),就可以遠(yuǎn)程訪問(wèn)你的linux系統(tǒng).
這里WLS(WindowsLinuxSubsystem)使用的是本機(jī)的端口,我們默認(rèn)是打開(kāi)ssh port 22端口;
至于這個(gè)ssh怎么打開(kāi),我也不贅述了,網(wǎng)上一搜也一大把;
打開(kāi)ssh后我們就可以吧linux的窗口最小化,然后使用自己電腦的cmd或者powerShell對(duì)linux進(jìn)行控制;(局域網(wǎng))
這個(gè)時(shí)候我們就可以 進(jìn)行我們的git操作,因?yàn)槲覀兪窍M覀円幸粋€(gè)git的遠(yuǎn)程倉(cāng)庫(kù),因此為了不污染我們這擁有sudo 權(quán)限的賬號(hào)用戶(hù),我們就新建一個(gè)用戶(hù) 新建用戶(hù)很簡(jiǎn)單;
然后根據(jù)步驟一步一步搞就行,我姑且新建了一個(gè)用戶(hù)叫做git;

  • 新建用戶(hù)
    sudo adduser git #這里的git是你的用戶(hù)名
    $ sudo adduser git
        Adding user `git'
        Adding new group `git' (1002) 
        Adding new user `git' (1002) with group `git'
        Creating home directory `/home/git' 
        Copying files from `/etc/skel' 
        Enter new UNIX password:
        Retype new UNIX password:
        passwd: password updated successfully
        Changing the user information for git
        Enter the new value, or press ENTER for the default
        Full Name []:
        Room Number []:
        Work Phone []:
        Home Phone []:
        Other []:
        Is the information correct? [Y/n] y
    $
    
  • 嘗試初始化倉(cāng)庫(kù)
      $ sudo su git
      $ cd ~
      $ git init --bare test.git
        Initialized empty Git repository in /home/git/test.git/
    
    為什么我們要初始化.git后綴的倉(cāng)庫(kù)呢?因?yàn)槲覀冎幌胱屗鰝}(cāng)庫(kù)而不是一個(gè)可以操作的工作區(qū)間,實(shí)際上建文件夾也是可以的~
  • 本地git倉(cāng)庫(kù)添加 remote
    git remote add kimlocal git@127.0.0.1:/home/git/test.git
    
    然后接下來(lái)的操作,什么pull / push 就都和使用github上的遠(yuǎn)程倉(cāng)庫(kù)一樣啦,但是這樣的話也都是需要先在你的git賬戶(hù)上新建一個(gè)倉(cāng)庫(kù),就是:
    # linux服務(wù)器(遠(yuǎn)程git倉(cāng)庫(kù)端)
    git init --bare [repositories_name].git
    # 本地git bash
    git remote add [remote_name] git@<url>:/home/git/[repositories_name].git
    git push [remote_name]
    

以上的設(shè)置都是在局域網(wǎng)內(nèi)實(shí)現(xiàn)的;
那我們?nèi)绾尾趴梢匀澜缛魏我粋€(gè)有網(wǎng)絡(luò)的角落都可以連接上你的倉(cāng)庫(kù)呢~

  • 有兩種方案
    1. 購(gòu)買(mǎi)一個(gè)云服務(wù)器,在云服務(wù)器上作上述所有操作
    2. 使用網(wǎng)絡(luò)穿透軟件穿透
    3. 如果你的設(shè)備連接在一個(gè)有公網(wǎng)IP的路由器下且你可以設(shè)置路由器,綁定端口映射即可;

三種方式經(jīng)濟(jì)上需求依次遞減,第三種時(shí)免費(fèi)的,但是在城市的我們基本可遇不可求,各位按需取用;只要付錢(qián),那么就都會(huì)有詳細(xì)的資料的幫助,nat123最適合屌絲使用可以嘗試一哈;8塊錢(qián)用終生;sunny-Ngrok 免費(fèi)用終身,但是個(gè)人開(kāi)發(fā)者,有時(shí)候會(huì)有點(diǎn)不穩(wěn)定;

  • 安全性
    一旦將你的個(gè)人電腦暴露到公網(wǎng)當(dāng)中那么就不得不考慮 安全的問(wèn)題 ,而且如果你真正在使用你自己搭建的遠(yuǎn)程倉(cāng)庫(kù)的時(shí)候會(huì)發(fā)現(xiàn)你每次操作都需要輸入密碼,不僅很繁瑣,而且在某些特定的時(shí)候還會(huì)面臨選擇問(wèn)題;

至此,我們已經(jīng)可以在世界的任何一個(gè)角落訪問(wèn)你的遠(yuǎn)程倉(cāng)庫(kù)了,但是還有很多繁瑣和不安全的隱患在;那么這個(gè)時(shí)候請(qǐng)參考 git的進(jìn)階配置


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容