#[端午特別征文]探索技術(shù)極致,未來因你出“粽”#
前言
消失了將近一個月,預(yù)祝大家端午節(jié)快樂! 這篇文章主要介紹下在上傳本地項目到gitee時出現(xiàn)的問題,以及借助AI解決問題。
Gitee是一個基于 Git 的代碼托管和開發(fā)協(xié)作平臺,它提供了代碼倉庫、代碼審查、持續(xù)集成/持續(xù)部署 (CI/CD)、項目管理、問題跟蹤等功能。
用戶可以在 Gitee 上創(chuàng)建自己的代碼倉庫,上傳代碼并與團隊成員協(xié)作開發(fā)。
==Git Bash ==是一個基于 Git 的命令行工具,它允許用戶在 Windows 操作系統(tǒng)上使用 Git 命令行工具進行版本控制和開發(fā)工作。Git Bash 提供了一些常用的 Git 命令和 shell 腳本,例如 git clone、git push、git pull、git status、git log 等。
總之,Gitee 是一個功能強大的代碼托管和協(xié)作平臺,而 Git Bash 則是一個方便易用的 Git 命令行工具,它們都可以幫助開發(fā)者更高效地管理和協(xié)作開發(fā)代碼。(PS:文章前言由Chatgpt所寫)
遇到問題——解決問題
今天使用Git Bash上傳自己所寫的一些項目時,發(fā)現(xiàn)了一些在平常使用時會遇到的問題,結(jié)合搜索引擎和Chatgpt,最終解決了問題。以下是遇到問題使用的相關(guān)方法總結(jié)。
需要了解
在查看問題之前,我們需要了解一些基本知識:
1:什么是SSH
SSH密鑰是一種用于身份驗證的加密密碼,它允許用戶通過公鑰和私鑰對進行安全通信。
在SSH中,每個用戶都有一對公鑰和私鑰。公鑰可以與其他人共享,以便他們可以通過該公鑰來訪問您的計算機或服務(wù)器。私鑰則只能由您自己持有,并且必須保密。當您使用SSH連接到另一臺計算機或服務(wù)器時,您需要使用該計算機或服務(wù)器上的公鑰來進行身份驗證。
使用SSH密鑰進行身份驗證的主要優(yōu)點是它們比傳統(tǒng)的密碼更安全。此外,SSH密鑰還提供了更高的安全性,因為它們需要進行數(shù)字簽名才能驗證其有效性。
總之,SSH密鑰是一種非常安全的身份驗證方法,它可以幫助保護您的計算機或服務(wù)器免受未經(jīng)授權(quán)的訪問。
2:什么是id_sra.pub
**`id_rsa.pub` 和 `id_sra.pub` 都是 OpenSSH 公鑰文件的一部分,它們分別用于在 SSH 連接和 SFTP 上傳/下載中進行身份驗證。**
具體來說,
id_rsa.pub
是您的私鑰的公鑰,而id_sra.pub
是您的 SSH 密鑰關(guān)聯(lián)的 SRA(Security Requirements Agent)的公鑰。
SSH 密鑰和 SRA 通常一起使用,以便在遠程計算機上執(zhí)行命令或上傳文件時進行身份驗證。當您使用 SSH 連接到遠程計算機時,您需要提供您的私鑰以進行身份驗證。同樣地,當您使用 SFTP 上傳文件時,您需要提供您的 SSH 密鑰和 SRA公鑰以進行身份驗證。因此,如果您在使用 SSH 或 SFTP 時遇到了問題,可能需要檢查您的 id_rsa.pub 和 id_sra.pub文件是否已正確配置并已添加到您的 SSH 客戶端或 SFTP 客戶端中。
ok,下面來看看都是哪些問題吧
SSH密鑰問題
之前在使用Git Bash上傳文件時,一直使用的是 HTTPS 來連接 Git Bash和Gitee倉庫,今天使用SSH時發(fā)現(xiàn)出現(xiàn)以下提示:
然后查找資料,問題描述如下:
這個提示是因為 Gitee 無法驗證您所提供的主機密鑰。這可能是由于您第一次訪問 Gitee 或您的 SSH 密鑰未添加到 Gitee 中。
看到這個描述,第一個想到的肯定是我沒有將我的SSH密鑰添加到Gitee中,那么接下來就是解決“如何將我的SSH密鑰添加到Gitee中”
首先,在Gitee官網(wǎng)的側(cè)邊欄中就有“密鑰管理”:
注意到官方也給出了 “如何生成公鑰”的提示,不妨點開看看:
明白了官方的意思,肯定需要自己上手嘗試一番(頁面的左邊欄有很多常見問題的解決手冊,建議在使用無論哪個平臺去完成任務(wù)時,都記得去看看官方文檔,很有收獲?。?/p>
這里提一句,在沒有將SSH密鑰添加到Gitee中去嘗試查看用戶密鑰,也就是 id_rsa.pub 文件時會返回“找不到”錯誤,如下:
看到這里,還是老老實實的添加密鑰吧。
首先,在Git Bash命令行輸入:
$ ssh-keygen -t ed25519 -C "xxxxx@xxxxx.com" //通過ed25519方式加密
注意:這里的 xxxxx@xxxxx.com 只是生成的 sshkey 的名稱,并不約束或要求具體命名為某個郵箱。
現(xiàn)網(wǎng)的大部分教程均講解的使用郵箱生成,其一開始的初衷僅僅是為了便于辨識所以使用了郵箱。
然后回車出現(xiàn):
又報錯了,報錯信息仍然是 XXX:command not found,
仔細想一想,如果是和Git密鑰相關(guān)的話,是不是需要進入bin文件夾下呢,但是我在輸入該命令時的文件路徑卻是在我想提交的項目文件夾里,那肯定不對呀,因此當前的任務(wù)就是找到Git 的bin文件夾。
轉(zhuǎn)到Git的安裝路徑,找到bin,然后在 E:\Git\bin 路徑下進行命令輸入 :
$ ssh-keygen -t ed25519 -C "xxxxx@xxxxx.com"
OK,這樣你就完成了密鑰的生成了,還看到了你的密鑰長啥樣。
并且你會看到生成的存放密鑰的文件,也就是我們之前提到的id_rsa.pub文件的路徑在哪。
如果感興趣的話,可以照著提示路徑看一眼:
然后,我們需要查看密鑰,輸入:
$ cat ~/.ssh/id_rsa.pub
最后,我們只需要將生成的密鑰復(fù)制下來,然后粘貼到Gitee的SSH密鑰管理處,進行密鑰的添加(復(fù)制粘貼時注意,一定要確保密鑰的完整性和準確性,不要有空格!)
到此為止,SSH的密鑰就添加完成啦,看一下是否可以正常連接:
$ git remote add origin ssh地址
乍一看沒有出現(xiàn)之前的報錯,實際上密鑰問題已經(jīng)解決了,只是又來了一個新錯誤,不過問題不大,接著看。
誤上傳一個不包含.git的文件
出現(xiàn)上面的問題是因為我需要上傳的文件路徑寫錯啦,仔細看我正在進行上傳的文件路徑是怎樣的?
我需要上傳的路徑需要包含.git,但是顯然newpub里面并不包含,而.git文件在new-pub文件中:
而我需要上傳的文件都在new-pub里面,把路徑改回來即可
$ cd new-pub
然后將代碼上傳至遠程分支
git push -u origin "master"
現(xiàn)在來看一下Gitee這邊有沒有顯示我上傳的文件:
OK,上傳完畢。
如何更新倉庫中的項目文件
當我需要新上傳一些項目文件去原有倉庫時應(yīng)該如何做:
Git Bash中輸入以下代碼:
git pull origin master //用于從遠程 Git 倉庫中獲?。╬ull)最新的代碼更新并合并(merge)到本地分支 master
接著:
git add . //會將當前工作區(qū)中當前目錄(包括子目錄)下的所有新文件和對已有文件的改動提交至?xí)捍鎱^(qū),但不包括被刪除的文件。
git commit -m "需要上傳的新的項目文件名" //將暫存區(qū)里的改動提交到本地的版本庫
上傳完畢就可以在Gitee上查看更新后的倉庫啦。
接著上面的問題,我又再new-pub中新增了一個文件夾,然后嘗試著用
git commit -m "file_name"
進行提交,發(fā)現(xiàn)出現(xiàn)了一個提示:
這個輸出表示當前的分支(master)比遠程倉庫的 master 分支領(lǐng)先一個提交(commit)。這通常發(fā)生在本地進行了一些更改,但還沒有將這些更改推送到遠程倉庫。
如果想要將本地更改推送到遠程倉庫,運行以下命令:
git push origin master
這將會將本地 master 分支推送到遠程倉庫的 master 分支。需要先將本地分支切換到 master 分支才能執(zhí)行此命令。如果已經(jīng)切換到了 master 分支,則可以直接運行該命令。
運行結(jié)果如下:
此時新增項目文件夾上傳完畢。
總結(jié)
問題解決總結(jié):
-
Gitee 是一個基于 Git 的代碼托管和開發(fā)協(xié)作平臺,它提供了代碼倉庫、代碼審查、持續(xù)集成/持續(xù)部署 (CI/CD)、項目管理、問題跟蹤等功能。
-
Git Bash 是一個基于 Git 的命令行工具,它允許用戶在 Windows 操作系統(tǒng)上使用 Git 命令行工具進行版本控制和開發(fā)工作。
-
在執(zhí)行 Git 命令時出現(xiàn) “fatal: not a git repository (or any of the parent directories): .git” 錯誤通常表示您正在嘗試在不是一個 Git 倉庫的目錄上執(zhí)行 Git 命令。
您可能沒有在正確的目錄中執(zhí)行 Git 命令。請確保您正在正確的 Git 倉庫目錄中執(zhí)行 Git 命令。如果您正在子目錄中,請切換到父目錄并再次運行 Git 命令。
您可能沒有初始化 Git 倉庫。在某些情況下,您需要先使用 git init 命令初始化一個 Git 倉庫。例如,如果您想將當前目錄轉(zhuǎn)換為 Git 倉庫,請運行以下命令:
然后,您可以繼續(xù)使用 Git 命令。
您可能已經(jīng)刪除了本地 Git 倉庫。如果您已經(jīng)刪除了本地 Git 倉庫,則無法在當前目錄中找到它。請確保您已經(jīng)在正確的目錄中執(zhí)行 Git 命令,并且已經(jīng)初始化了一個 Git 倉庫。
您可能沒有添加文件到 Git 倉庫中。如果您還沒有將文件添加到 Git 倉庫中,則無法執(zhí)行任何版本控制操作。請使用 git add 命令將文件添加到 Git 倉庫中,然后使用 git commit 命令提交更改。
如果以上解決方法都無法解決您的問題,請檢查您的操作系統(tǒng)設(shè)置和權(quán)限,以確保您有足夠的訪問權(quán)限來執(zhí)行 Git 命令。
-
如果當前目錄不是一個 Git 倉庫,請運行以下命令進行檢查:
git status
。用于顯示工作目錄和暫存區(qū)的狀態(tài)。 -
如果您需要將本地更改推送到遠程倉庫,請運行以下命令:
git push origin master
。請注意,您需要先將本地分支切換到 master 分支才能執(zhí)行此命令。
(ps:Chatgpt所寫總結(jié))
我們可以看到,掌握好科技時代的機遇,讓AI成為我們的助手,做事效率會大大提高!但是要記住,打敗你的永遠都不會是AI,而是率先掌握AI的人!文章來源:http://www.zghlxwxcb.cn/news/detail-498775.html
星光不負趕路人,加油!文章來源地址http://www.zghlxwxcb.cn/news/detail-498775.html
到了這里,關(guān)于Git Bash 上傳本地文件到Gitee(AI助力解決問題)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!