寫在前面:本博客僅作記錄學(xué)習(xí)之用,部分圖片來自網(wǎng)絡(luò),如需引用請注明出處,同時如有侵犯您的權(quán)益,請聯(lián)系刪除!
前言
在軟件開發(fā)中,版本控制是一個不可或缺的工具。隨著項目的增長和團(tuán)隊的擴(kuò)大,管理源代碼的變更、協(xié)作和跟蹤變得愈發(fā)重要。Git正是為了滿足這些需求而誕生的。
以下是Git的特點:
- 分布式版本控制:
分布式設(shè)計,使得每個開發(fā)者都能擁有完整的代碼庫副本以便開發(fā)者能夠在沒有網(wǎng)絡(luò)連接的情況下進(jìn)行工作,提高了開發(fā)的靈活性和效率。
- 強大的分支與合并:
分支管理功能,開發(fā)者可以創(chuàng)建新分支進(jìn)行新功能開發(fā)或錯誤修復(fù),有助于保持代碼庫的整潔和有序。通過分支和合并,團(tuán)隊可以并行工作,提高開發(fā)速度,同時保持代碼質(zhì)量。
- 高效的提交管理:
Git將每次提交視為一個完整的代碼庫快照,使得Git能夠高效地處理大型項目的版本管理,即使面對數(shù)百萬個文件的變更,也能保持出色的性能。開發(fā)者可以輕松查看歷史提交記錄,了解項目的演變過程,并快速回滾到之前的版本。
- 與代碼托管平臺無縫集成:
Git與Gitee、GitHub等代碼托管平臺緊密結(jié)合,為開發(fā)者提供了便捷的代碼托管、分享和協(xié)作體驗。開發(fā)者可以瀏覽和搜索開源項目,參與開源貢獻(xiàn),與全球開發(fā)者社區(qū)進(jìn)行交流與合作。
- 易于學(xué)習(xí)和使用:
Git提供了直觀且強大的命令行界面,同時也支持各種圖形化工具,使得不同水平的開發(fā)者都能輕松上手。豐富的文檔和社區(qū)資源為學(xué)習(xí)者提供了良好的支持,幫助開發(fā)者快速掌握Git的使用技巧。
綜上所述,Git以其分布式設(shè)計、強大的分支與合并功能、高效的提交管理、與代碼托管平臺的無縫集成以及易于學(xué)習(xí)和使用的特點,成為了現(xiàn)代軟件開發(fā)中不可或缺的版本控制工具。
下載及安裝Git
Git的下載及安裝過程因操作系統(tǒng)而異。以下是針對不同操作系統(tǒng)的Git下載及安裝步驟:
對于Windows系統(tǒng):
- 打開Git官網(wǎng)
- 在Git下載地址中找到Git的最新版本和下載鏈接,選擇適合操作系統(tǒng)的下載鏈接。
- 下載完成后,運行安裝程序。根據(jù)提示,選擇合適的安裝選項和安裝路徑。
- 安裝完成后,在最近添加中可看到Git。
對于Mac系統(tǒng):
- 打開Mac App Store或訪問Git官網(wǎng)。
- 在官網(wǎng)首頁或App Store中找到Git的Mac版本并下載安裝。
- 安裝完成后,打開終端(Terminal)即可使用Git。
對于Linux系統(tǒng):
- 通過以下命令來安裝Git:
sudo apt-get install git
。 - 安裝完成后,可以通過輸入命令
git --version
來驗證Git是否成功安裝。 - 另外,除了直接下載安裝包進(jìn)行安裝,Mac用戶還可以利用brew工具包管理器進(jìn)行。
Git的使用
設(shè)置用戶簽名
設(shè)置Git用戶簽名是一個必要的步驟,用于標(biāo)識提交代碼時的身份。以下是設(shè)置Git用戶簽名的步驟:
- 設(shè)置全局的用戶簽名:
git config --global user.name NAME #設(shè)置用戶名
git congig --global user.mail NAME@git.com #設(shè)置用戶郵箱
其中--global
適用于全部倉庫,若只針對單一倉庫可去掉--global
或者替換為--local
。
設(shè)置完成后,Git會使用你提供的用戶名和郵箱地址來標(biāo)識你的提交。這些信息會保存在Git配置文件中,對于全局配置,通常保存在用戶主目錄下的 .gitconfig 文件中;對于單個倉庫配置,則保存在倉庫目錄下的 .git/config 文件中。
C:\Users\用戶名\.gitconfig
此外,雖然Git不會驗證你設(shè)置的郵箱地址是否真實存在,但是建議使用一個有效的郵箱地址,以便在需要時接收來自Git的通知或與其他開發(fā)者進(jìn)行聯(lián)系。
設(shè)置用戶安全目錄
從Git 2.30開始,Git引入了一個新的安全特性,即safe.directory
。為了防止某些Git操作在不受信任的路徑上執(zhí)行,從而避免潛在的安全風(fēng)險。特別是使用Git進(jìn)行克隆、檢出或執(zhí)行其他涉及文件系統(tǒng)的操作時,Git會檢查這些操作是否發(fā)生在已知的安全目錄中。如果在不屬于安全目錄的位置執(zhí)行這些操作,Git可能會拒絕執(zhí)行,或者給出警告信息,提示可能面臨安全風(fēng)險。
- 以下是設(shè)置Git用戶安全目錄的代碼:
git config --global --add safe.directory file_path #向全局配置中添加一個安全目錄
git config --local --add safe.directory file_path #向局部配置中添加一個安全目錄
需要注意的是,safe.directory
是全局設(shè)置的,所以添加的目錄對所有Git倉庫都有效。如果你只想為特定的倉庫添加安全的目錄,可以使用--local
選項。
Git基本操作
Git的基本操作涵蓋了版本控制的各個方面,從初始化倉庫到提交更改,再到分支和合并等操作。
以下是Git的一些基本操作和指令:
- 初始化本地倉庫:
git init
:在當(dāng)前目錄下初始化一個新的Git倉庫,創(chuàng)建一個名為.git的子目錄,用于存儲版本控制所需的所有信息。
- 添加文件到暫存區(qū):
git add filename
:將工作區(qū)中的文件添加到暫存區(qū)。git add .
:則會添加當(dāng)前目錄下的所有文件。
- 提交暫存區(qū)的更改到本地倉庫:
git commit -m "commit message"
:將暫存區(qū)的更改提交到本地倉庫。
- 查看倉庫的當(dāng)前狀態(tài):
git status
:查看當(dāng)前工作區(qū)和暫存區(qū)的狀態(tài),包括哪些文件已經(jīng)被修改、哪些文件還未添加到暫存區(qū)等。
- 查看提交歷史記錄:
git log
:查看倉庫的提交歷史記錄。git reflog
:查看本地倉庫的所有操作記錄。
- 版本回退:
git reset --hard [commit]
:將HEAD指針回退到之前的某個提交。意味著版本更迭的底層實現(xiàn)是依賴于指針實現(xiàn)的。
- 分支操作:
git branch
:查看當(dāng)前倉庫的所有分支。git branch new_branch
:創(chuàng)建新的分支。git checkout branch_name
:切換到指定的分支。git merge branch_name
:將指定分支合并到當(dāng)前分支。git branch -d branch_name
:刪除指定的分支。
- 遠(yuǎn)程倉庫操作:
git clone url
:命令克隆遠(yuǎn)程倉庫到本地。git remote -v
:查看遠(yuǎn)程倉庫的信息。git push origin branch_name
:將本地分支推送到遠(yuǎn)程倉庫。git pull origin branch_name
:從遠(yuǎn)程倉庫拉取指定分支的更新。
以上只是Git的一些基本操作,實際上Git的功能遠(yuǎn)不止于此。通過學(xué)習(xí)和實踐,你可以掌握更多高級的Git操作,如標(biāo)簽管理、沖突解決等,以更好地管理代碼和項目。
Git實操操作
- 歷史記錄查看:
git reflog
與git log
:
- 版本切換:
git reset --hard 版本號
,版本號為git reflog
輸出最前面的橙色一串號碼。
再次使用git reflog
可以發(fā)現(xiàn)HEAD
指針指向了對應(yīng)的版本。并記錄在.git
中HEAD
文件中。
- 版本控制:依賴于head指針的移動。此處以master和qxd_edit分支為例。
git branch -v
的結(jié)果是存在兩個分支git merge qxd_edit
合并分支qxd_edit到master
- 刪除 Git 分支主要分為刪除本地分支和刪除遠(yuǎn)程分支兩種操作。
git branch -d branch_name
:刪除本地分支git branch -D branch_name
:強制刪除分支會丟失該分支上的所有未合并的更改
刪除遠(yuǎn)程分支:先在本地執(zhí)行刪除操作,然后再推送到遠(yuǎn)程倉庫。刪除遠(yuǎn)程分支通常需要相應(yīng)的權(quán)限。
以下是一般的步驟:確認(rèn)當(dāng)前不在要刪除的分支上。使用 git status 來檢查當(dāng)前所在的分支。
git branch -r -d origin/branch_name
:刪除本地對遠(yuǎn)程分支的引用git branch -dr origin/branch_name
:同時刪除本地和遠(yuǎn)程的引用
將刪除操作推送到遠(yuǎn)程倉庫,從而真正刪除遠(yuǎn)程分支。使用 git push
命令,并帶上 :branch_name
語法來刪除遠(yuǎn)程分支:
git push origin :branch_name
:冒號表示刪除操作。
- 遠(yuǎn)程倉庫
推送到遠(yuǎn)程庫:以分支為單位
git remote -v
:查看當(dāng)前所有遠(yuǎn)程庫地址別名git remote add別名 遠(yuǎn)程地址
:添加遠(yuǎn)程地址并取別名git remote remove 別名
:刪除遠(yuǎn)程庫的別名。不會影響遠(yuǎn)程倉庫本身,只是從本地倉庫中移除了對該遠(yuǎn)程倉庫的引用。
git push 遠(yuǎn)程庫別名 分支名
:向遠(yuǎn)程庫中推送本地分支,可能需要對應(yīng)的登錄或者,對應(yīng)的口令(token)才能上傳git pull 遠(yuǎn)程庫別名 分支名
:從遠(yuǎn)程庫中拉取分支git clone 遠(yuǎn)程倉庫網(wǎng)址
:從遠(yuǎn)程庫中克隆分支,為用戶自動拉取代碼、初始化本地庫、創(chuàng)建別名(默認(rèn)origin)
Pycharm與Git、Gitee
Pycharm配置Git
- 打開PyCharm IDE。
- 轉(zhuǎn)到 File -> Settings。
- 在設(shè)置窗口中,導(dǎo)航到 Version Control -> Git。
- 配置Git的路徑,找到Git的git.exe文件所在的位置,通常是
Git安裝目錄/bin/git.exe
。
如下圖:
Pycharm配置Gitee
- 安裝Gitee插件
在PyCharm的 Settings -> Plugins 中搜索 “Gitee”,安裝并重啟PyCharm以激活插件。如下圖: - 登錄Gitee賬戶
在File -> Settings -> Version Control -> Gitee ->Add account登錄賬號,如下:
Pycharm之Git基本操作
-
創(chuàng)建本地庫,頂端功能區(qū)選擇版本控制器,創(chuàng)建Git庫,如下圖:
-
創(chuàng)建分支,點擊右小角master圖標(biāo),創(chuàng)建分支,如下圖:
-
切換分支,點擊右小角master圖標(biāo), 如下圖:
-
提交暫存區(qū)/本地庫,選擇文件/項目->Git->add/commit, 如下圖:
-
推送遠(yuǎn)程庫,頂端功能區(qū)VSC,分享到Gitee倉庫, 如下圖:
-
查看遠(yuǎn)程庫,Gitee倉庫,推送成功, 如下圖:
常見問題
無法創(chuàng)建分支
為保護(hù)主分支的穩(wěn)定性,主分支應(yīng)該在創(chuàng)建新分支前進(jìn)行提交,是因為主分支通常用來存放的是穩(wěn)定且可發(fā)布的代碼版本。在有新的提交后創(chuàng)建分支,意味著新分支是從一個已知的良好狀態(tài)開始,這樣開發(fā)者可以在新分支上安全地開發(fā)新功能或修復(fù)問題,而不直接影響主分支的代碼。
Github push 失敗
GitHub push失敗可能由多種原因引起,以下是幾種常見情況及其解決方案:
-
身份驗證問題:
- 可能沒有正確設(shè)置SSH密鑰或HTTPS憑據(jù)。對于SSH,確保已經(jīng)在GitHub上添加了本地生成的公鑰;對于HTTPS,需要輸入正確的用戶名和密碼,或者使用Personal Access Token替代密碼。
-
非快進(jìn)(non-fast-forward)提交:
- 當(dāng)遠(yuǎn)程倉庫的HEAD比您本地的提交更“新”,直接push會導(dǎo)致沖突。此時,您需要先pull遠(yuǎn)程倉庫的最新改動,合并后再push。可以運行以下命令:
git pull origin <branch-name> git push origin <branch-name>
- 當(dāng)遠(yuǎn)程倉庫的HEAD比您本地的提交更“新”,直接push會導(dǎo)致沖突。此時,您需要先pull遠(yuǎn)程倉庫的最新改動,合并后再push。可以運行以下命令:
-
推送權(quán)限不足:
- 檢查是否有對目標(biāo)倉庫的push權(quán)限。如果是私有倉庫,確保是倉庫成員,并且具有適當(dāng)?shù)臋?quán)限。
-
網(wǎng)絡(luò)問題:
- Github 由于部署在國外,國內(nèi)連接不穩(wěn)定,建議多次嘗試,或者嘗試科學(xué)上網(wǎng)以提高push成功概率。。
總結(jié)
本文主要從Git與Gitee的關(guān)系進(jìn)行說明,進(jìn)一步的以Pycharm中,本地和遠(yuǎn)程倉庫的基本操作進(jìn)行進(jìn)行說明,最后列舉常見問題的解決辦法。文章來源:http://www.zghlxwxcb.cn/news/detail-857518.html
致謝
欲盡善本文,因所視短淺,怎奈所書皆是瞽言蒭議。行文至此,誠向予助與余者致以謝意。文章來源地址http://www.zghlxwxcb.cn/news/detail-857518.html
參考
- Git官網(wǎng)
到了這里,關(guān)于PyCharm環(huán)境下Git與Gitee聯(lián)動:本地與遠(yuǎn)程倉庫操作實戰(zhàn)及常見問題解決方案的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!