git在linux下建立倉庫

2021-09-11 11:48:38 字數 4077 閱讀 5127

1,linux下建立git倉庫

$ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel

$ yum install git

接下來我們 建立乙個git使用者組和使用者,用來執行git服務:

$ groupadd git

$ useradd git -g git

收集所有需要登入的使用者的公鑰,公鑰位於id_rsa.pub檔案中,把我們的公鑰匯入到/home/git/.ssh/authorized_keys檔案裡,一行乙個。

如果沒有該檔案建立它:

$ cd /home/git/

$ mkdir .ssh

$ chmod 755 .ssh

$ touch .ssh/authorized_keys

$ chmod 644 .ssh/authorized_keys

首先我們選定乙個目錄作為git倉庫,假定是/home/gitrepo/learngit.git,在/home/gitrepo目錄下輸入命令:

$ cd /home

$ mkdir gitrepo

$ chown git:git gitrepo/

$ cd gitrepo

$ git init --bare learngit.git

initialized empty git repository in /home/gitrepo/learngit.git/

以上命令git建立乙個空倉庫,伺服器上的git倉庫通常都以.git結尾。然後,把倉庫所屬使用者改為git:

$ chown -r git:git learngit.git
$ git clone [email protected]:/home/gitrepo/learngit.git

cloning into 'learngit'...

checking connectivity... done.

可能會提示錯誤 如下資訊:

$ git clone [email protected]:/data/git/learngit.git

cloning into 'learngit'...

the authenticity of host '192.168.8.34 (192.168.8.34)' can't be established.

rsa key fingerprint is 2b:55:45:e7:4c:29:cc:05:33:78:03:bd:a8:cd:08:9d.

are you sure you want to continue connecting (yes/no)? yes

warning: permanently added '192.168.8.34' (rsa) to the list of known hosts.

[email protected]'s password:

這裡兩點需要注意:第一,當你第一次使用git的clone或者push命令連線github時,會得到乙個警告:

the authenticity of host 'github.com (xx.xx.xx.xx)' can't be established.

rsa key fingerprint is xx.xx.xx.xx.xx.

are you sure you want to continue connecting (yes/no)?

這是因為git使用ssh連線,而ssh連線在第一次驗證github伺服器的key時,需要你確認github的key的指紋資訊是否真的來自github的伺服器,輸入yes回車即可。

git會輸出乙個警告,告訴你已經把github的key新增到本機的乙個信任列表裡了:

warning: permanently added 'github.com' (rsa) to the list of known hosts.
這個警告只會出現一次,後面的操作就不會有任何警告了。

如果你實在擔心有人冒充github伺服器,輸入yes前可以對照github的rsa key的指紋資訊是否與ssh連線給出的一致。

第二,這裡提示你輸入密碼才能clone,當然如果你知道密碼,可以鍵入密碼來進行clone,但是更為常見的方式,是利用ssh的公鑰來完成驗證。

1.5、建立ssh key

首先在使用者主目錄下,看看有沒有.ssh目錄,如果有,再看看這個目錄下有沒有id_rsa和id_rsa.pub這兩個檔案,如果已經有了,可直接跳到下一步。如果沒有,開啟shell(windows下開啟git bash),建立ssh key:

$ ssh-keygen -t rsa -c "[email protected]"
你需要把郵件位址換成你自己的郵件位址,然後一路回車,使用預設值即可,由於這個key也不是用於軍事目的,所以也無需設定密碼。

如果一切順利的話,可以在使用者主目錄裡找到.ssh目錄,裡面有id_rsa和id_rsa.pub兩個檔案,這兩個就是ssh key的秘鑰對,id_rsa是私鑰,不能洩露出去,id_rsa.pub是公鑰,可以放心地告訴任何人。

1.6、git伺服器開啟rsa認證

然後就可以去git伺服器上新增你的公鑰用來驗證你的資訊了。在git伺服器上首先需要將/etc/ssh/sshd_config中將rsa認證開啟,即:

1.rsaauthentication yes     

2.pubkeyauthentication yes

3.authorizedkeysfile .ssh/authorized_keys

這裡我們可以看到公鑰存放在.ssh/authorized_keys檔案中。所以我們在/home/git下建立.ssh目錄,然後建立authorized_keys檔案,並將剛生成的公鑰匯入進去。

然後再次clone的時候,或者是之後push的時候,就不需要再輸入密碼了:

zhu@***/e/testgit/8.34

$ git clone [email protected]:/data/git/learngit.git

cloning into 'learngit'...

checking connectivity... done.

git:x:1001:1001:,,,:/home/git:/bin/bash
最後乙個冒號後改為:

git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
這樣,git使用者可以正常通過ssh使用git,但無法登入shell,因為我們為git使用者指定的git-shell每次一登入就自動退出。

2,在windows系統中如何用git建立本地倉庫

2.2在要匯出git的資料夾右鍵git bash,輸入git init這意味著初始化本地倉庫完成。

2.3.git commit -m "first" # -m 後為提交日誌

2.4.git branch 可檢視本地倉庫分支,發現會出現乙個master的分支

到目前為止,我們完成了**庫的初始化,但**是在本地,還沒有提交到遠端伺服器,所以關鍵的來了,要提交到就遠端**伺服器,進行以下兩步:

2.5git remote add origin  [email protected]:/home/gitrepo/runoob.git (你的遠端庫位址)// 把本地庫與遠端庫關聯

2.6 git push -u origin master // 第一次推送時

2.7git push origin master // 第一次推送後,直接使用該命令即可推送修改

把本地庫的內容推送到遠端。使用 git push命令,實際上是把當前分支master推送到遠端。執行此命令後會要求輸入使用者名稱、密碼,驗證通過後即開始上傳。 

說明:使用者名稱密碼需要通過命令 ssh-keygen -t rsa -c 「******@qq.com」進行建立,並且要把得到的秘鑰(公鑰)檔案放到git伺服器上,這樣才有許可權進行**推送

Git建立倉庫

這裡我們為大家介紹一下如何建立乙個git倉庫,首先來明白為啥要建立乙個 git倉庫呢 鬼才知道呢 不過話說回來 倉庫的作用是啥 放東西啊 所以git 倉庫是用來放東西的,因為 git是個控制版本的軟體,所以 git 倉庫肯定是用來放 的 git使用 git init 命令來初始化乙個 git倉庫 g...

Git建立倉庫

本章節我們將為大家介紹如何建立乙個 git 倉庫。你可以使用乙個已經存在的目錄作為git倉庫。git 使用git init命令來初始化乙個 git 倉庫,git 的很多命令都需要在 git 的倉庫中執行,所以git init是使用 git 的第乙個命令。在執行完成git init命令後,git 倉庫...

Git 建立倉庫

git 使用git init命令來初始化乙個 git 倉庫,git 的很多命令都需要在 git 的倉庫中執行,所以git init是使用 git 的第乙個命令。在執行完成git init命令後,git 倉庫會生成乙個 git 目錄,該目錄包含了資源的所有元資料,其他的專案目錄保持不變 不像 svn ...