git 歷史版本匯出 Git基礎知識 九

2021-10-14 12:21:14 字數 2451 閱讀 7563

乙個遠端倉庫通常只是乙個裸倉庫: 乙個沒有當前工作目錄的倉庫。

簡單的說,裸倉庫就是你工程目錄內的 .git 子目錄內容,不包含其他資料。

協議

本地協議

使用本地的乙個資料夾當作倉庫的時候,將它使用檔案共享給其他人。

$ git clone /opt/git/project.git # 本機$ git clone file:///opt/git/project.git #共享檔案
增加乙個本地版本到git專案

$ git remote add local_proj /opt/git/project.git
簡單,直接使用了現有的檔案許可權和網路訪問許可權。

不方便從多個位置訪問。

並不保護倉庫避免意外的損壞,每乙個使用者都有「遠端」目錄的完整 shell 許可權,沒有方法可以 阻止他們修改或刪除 git 內部檔案和損壞倉庫。

http協議

可以使用 http 協議的使用者名稱/密碼的基礎 授權,免去設定 ssh 公鑰。

相比 ssh 協議,可以使用使用者名稱/密碼授權是乙個很大的優勢,這樣使用者就不必須在使用 git 之前先在本地生成 ssh 金鑰對再把公鑰上傳到伺服器。

ssh協議

ssh 協議也是乙個驗證授權的網路協議;

轉殖的方法:

# 1$ git clone ssh://user@server/project.git# 2$ git clone user@server:project.git
優點:

缺點:git協議

包含在 git 裡的乙個特殊的守護程序。

它監聽在乙個特定的埠「9418」。

要讓版本庫支援 git 協議,需要先建立乙個 git-daemon-export-ok 文 件 :它是 git 協議守護程序為這個版本庫提供服務的必要條件 「但是除此之外沒有任何安全措施」。 要麼誰都可以轉殖這個版本庫,要麼誰也不能。 由於沒有授權機制,一旦開放推送操作,意味著網路上知道這個專案 url 的人都可以向專案推送資料。

優點:最快

缺點:缺乏授權機制

搭建git倉庫

匯出裸倉庫

我們需要匯出乙個「不包含當前工作目錄的倉庫」

匯出裸倉庫

把倉庫放到伺服器上

假設使用我的阿里雲裝置來當伺服器

我在/home/zx路徑下新建乙個資料夾git_study

存放路徑:/home/zx/git_study

上傳至伺服器

下面看一下阿里雲上的內容

伺服器側

轉殖內容

普通轉殖

也可以將這個倉庫進行修改,使其擁有推送許可權。

執行 git init 命令,並加上 --shared 選項,那麼 git 會自動修改該倉庫目錄的組許可權 為可寫。

增加許可權

有很多優秀的**託管平台可以選擇:

**託管

git 版本歷史

版本 git rev parse git dir顯示git版本庫的位置 show cdup顯示當前工作區目錄的深度 parseopt解析命令列引數 git rev parse symbolic branches 顯示分支 git rev parse symbolic tags 顯示里程碑 git r...

git 版本歷史

版本 git rev parse git dir顯示git版本庫的位置 show cdup顯示當前工作區目錄的深度 parseopt解析命令列引數 git rev parse symbolic branches 顯示分支 git rev parse symbolic tags 顯示里程碑 git r...

git 回退到歷史版本

專案中經常出現 覆蓋的問題,當我們不小心把之前別人 覆蓋了,就需要我們進行git會滾到歷史版本,然後才能正常使用。避免 丟失 這裡面講的是webstorm回退 例子 1 首先看提交歷史,檢視提交日誌 2 第二種 3 確定回退的版本號 4 點選reset 5 最後可以使用git命令強制提交 這時候gi...