git私有遠端庫的建立與使用

2021-06-28 21:49:26 字數 3732 閱讀 6812

照著 pro git book來架了個私有git 遠端庫,做個記錄。

驗證選用ssh,rsa加密方式。

首先

yum install git-core
建好後,就是建乙個遠端裸庫了:

cd /opt

mkdir git

cd git

mkdir yukonproject.git

cd yukonproject.git

git --bare init

就已經建好裸庫了

sudo adduser -m yukon12345 

passwd yukon12345

su yukon12345

cd ~

mkdir .ssh

以下2步可以使本地計算機操作時免輸入密碼

首先看看本地電腦有沒有現成的秘鑰

ls -al ~/.ssh
如果有內容,就不用繼續操作了

沒有的話

ssh-keygen

-t rsa -c

"電子郵件位址"

之後一路回車就行。

在 c:/使用者/.ssh資料夾裡,

會生成id_rsa.pub 和id_rsa等。找到id_rsa.pub,這是公鑰

使用cat id_rsa.pub >> ~/.ssh/authorized_keys

或者複製id_rsa.pub 的內容到.ssh/authorized_keys

這一步為新增信任公鑰。

本地端:

cd d:\gittest

git clone [email protected]:/opt/git/yukonproject.git

收到反饋:

warning: permanently added 'yukon12345.com,114.215

.191

.81' (rsa) to the list of known hosts.

[email protected]'s password:

checking connectivity... done.

這裡已經把公鑰提交到了authorized_keys仍然要輸入密碼,查了下是由於這個檔案不能有所有者之外的寫許可權。以及.ssh也不能有之外的寫許可權而預設的authorized_keys 還有個使用者組的寫許可權。

這裡去除group的寫許可權:

su yukon12345

cd ~

chmod 700 .ssh

cd .ssh

chmod 644 authorized_keys

使得檔案許可權為如下:

-rw-

r--r

--1yukon12345

yukon12345

400mar

323:33

authorized_keys

drwxr--

---2

yukon12345

yukon12345

4096

mar3

23:33

.ssh

再次使用clone或者pull等時無需密碼。

那麼就設定成功了。以後就無需輸入可以直接操作遠端git庫。

在gittest裡會生成已個yukonproject的資料夾。裡面有.git的空目錄。往目錄裡加乙個hello.txt後:

git status

on branch master

initial commit

untracked files:

(use "git add ..."

toinclude

in what will be committed)

hello.txt

nothing added to commit but untracked files present (use "git add"

to track)

git add .

git commit

windows下會聰明的彈出記事本來叫你輸入。執行

git log

commit

025369a380e9d1409fbacadb82d2ad56ea245fe6

author: yukon12345 163.com>

date: mon mar 2

22:40:48

2015 +0800

git for new user

執行git push來推向遠端伺服器

warning: permanently added 'yukon12345.com,114.215.191.81' (rsa) to the list of known hosts.

[email protected]'s password:

counting objects: 3, done.

writing objects: 100% (3/3), 214 bytes | 0 bytes/s, done.

total 3 (delta 0), reused 0 (delta 0)

error: unpack failed: unpack-objects abnormal exit

error: insufficient permission for adding an object

to repository database ./objects

fatal: failed to write object

to [email protected]:/opt/git/yukonproject.git

! [remote rejected] master -> master (n/a (unpacker error))

error: failed to push some refs to

'[email protected]:/opt/git/yukonproject.git'

這裡出現了報錯,看了下是由於許可權問題導致的。

ls -al

total 16

drwxr-xr-x.

3 root root 4096 mar 2

22:28

.dr-xr

-xr-x

.22 root root 4096 feb 17

17:27

..drwxr-xr

-x3 root root 4096 mar 2

22:29 git

將伺服器庫的所有者或者所有者組許可權修改:

chown -r yukon12345 /opt/git

chgrp yukon12345 /opt/git

再次push後就沒有報錯了

如下格式:

git

reset--

help

這句話在windows下直接彈出幫助的網頁。

git 建立遠端版本庫

一 github遠端版本庫 1 建立ssh key windows ssh keygen t rsa c youremail example.com 2 連線版本庫git remote add origin git github.com ltt2725738034 ll.git 3 轉殖版本庫 gi...

使用Git與Github建立自己的遠端倉庫

早就想建立乙個自己的遠端倉庫,方便發布到nuget上,自己用也好,專案組用也好,都方便。今天抽了個時間建了個倉庫,隨便記下溜方便後來的人。首先需要到 github 上註冊自己的帳號。然後點選建立自己的專案,如下所示。名字和描述自己選,如果需要readme檔案就打上勾,個人建議打上。windows點我...

使用Cocoapods建立私有庫的流程

在公司開發framework,記錄一下關於cocoapods製作私有庫的過程 1 建立私有repo倉庫,比如我的是 並初始化 設定開發語言,以及readme pod repo add lspcustombasekit 這條指令 會在 cocoapods repos目錄下看到 lspcustombas...