範例詳解Git的常見操作

2022-03-25 22:00:33
本篇文章給大家帶來了關於的相關知識,其中主要介紹了一些常見的操作,包括了設定字型、建立遠端倉庫、建立本地倉庫等等,希望對大家有幫助。

推薦學習:《》

Git版本控制

開發難題

在實際開發中我們會遇到一些問題,電腦藍屏,程式碼丟了,懊悔不?磁碟壞了,檔案沒了,懊悔不?時間長了,檔案找不到了,懊悔不?手欠,之前程式碼執行好好的,非要去優化下,結果還不如以前,信心滿滿,之前程式碼沒儲存,懊悔不?怎麼解決呢?版本控制就可以解決這些難題了。

版本控制(Version Control System),它功能強大,不僅能備份你的檔案,還可以實現很多:

  • 記錄檔案的所有歷史變化
  • 錯誤恢復到某個歷史版本
  • 多人共同作業開發編輯同一個檔案
  • 實現功能差異版本(分支),如:mysql、mariadb、percona三個分支

主流的版本控制產品

名稱模型並行** 模式 **** 歷史 **模式變更** 範圍 **** 網路協定 **** 原子 **提交性
CVSClient-serverMergeChangesetFilePserver,sshNo
SVNClient-server3-way merge, recursive merge, octopus mergeChangeset and SnapshotTreecustom (svn), custom (svn) over ssh, HTTP and SSL (usingWebDAV)Yes
GitDistributedMerge or lockSnapshotTreecustom, custom over ssh, rsync, HTTP/HTTPS, email, bundlesYes

簡而言之,各有優缺點,git要配合github遠端倉庫,可以避免分散式損壞。顯然最大的不同在於git是分散式的。svn有許可權控制,避免全被clone克隆走。git適合純程式碼,svn適合綜合性檔案管理,git+svn結合起來,完美。

介紹

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-CZ6OzODv-1623157728769)(RackMultipart20210608-4-134iydv_html_e33976d05a3cbd51.png)]

Linus在1991年建立了開源的Linux,從此,Linux系統不斷髮展,已經成為最大的伺服器系統軟體了。Linus雖然建立了Linux的核心,但Linux的壯大是靠全世界熱心的志願者參與的,這麼多人在世界各地為Linux編寫程式碼,那Linux的程式碼是如何管理的呢?

事實是,在2002年以前,世界各地的志願者把原始碼檔案通過diff的方式發給Linus,然後由Linus本人通過手工方式合併程式碼!你也許會想,為什麼Linus不把Linux程式碼放到版本控制系統裡呢?不是有CVS、SVN這些免費的版本控制系統嗎?因為Linus堅定地反對CVS和SVN,這些集中式的版本控制系統不但速度慢,而且必須聯網才能使用。有一些商用的版本控制系統,雖然比CVS、SVN好用,但那是付費的,和Linux的開源精神不符。不過,到了2002年,Linux系統已經發展了十年了,程式碼庫之大讓Linus很難繼續通過手工方式管理了,社群的弟兄們也對這種方式表達了強烈不滿,於是Linus選擇了一個商業的版本控制系統BitKeeper,BitKeeper的東家BitMover公司出於人道主義精神,授權Linux社群免費使用這個版本控制系統。

安定團結的大好局面在2005年就被打破了,原因是Linux社群牛人聚集,不免沾染了一些梁山好漢的江湖習氣。開發Samba的Andrew試圖破解BitKeeper的協定(這麼幹的其實也不只他一個),被BitMover公司發現了(監控工作做得不錯!),於是BitMover公司怒了,要收回Linux社群的免費使用權。Linus可以向BitMover公司道個歉,保證以後嚴格管教弟兄們,嗯,這是不可能的。實際情況是這樣的:Linus花了兩週時間自己用C寫了一個分散式版本控制系統,這就是Git!一個月之內,Linux系統的原始碼已經由Git管理了!牛是怎麼定義的呢?吃瓜群眾可以體會一下。

Git迅速成為最流行的分散式版本控制系統,尤其是2008年,GitHub網站上線了,它為開源專案免費提供Git儲存,無數開源專案開始遷移至GitHub,包括jQuery,PHP,Ruby等等。歷史就是這麼偶然,如果不是當年BitMover公司威脅Linux社群,可能現在我們就沒有免費而超級好用的Git了。

組成結構圖

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-MehgNqgG-1623157728773)(RackMultipart20210608-4-134iydv_html_718425c3858133d0.png)]

  • 工作空間:用來儲存專案的後設資料和物件資料庫的地方。 這是 Git 中最重要的部分,從其它計算機克隆倉庫時,拷貝的就是這裡的資料。
  • 本地索引:儲存了下次將提交的檔案列表資訊,一般在 Git 倉庫目錄中。有時候也被稱作"索引",不過一般說法還是叫暫存區域。
  • 本地倉庫,之所以說git 快,大部分提交都是對本地倉庫而言的,不依賴網路,最後一次會推播的到遠端倉庫。
  • 遠端倉庫:可以看做是github,它是一個遠端倉庫,它提供web服務供大家方便下載、檢視、提交、儲存。

命令速查

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-aGMsEjFt-1623157728776)(RackMultipart20210608-4-134iydv_html_7a185039891c1e34.jpg)]

常用命令

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-BBgJ5B2v-1623157728787)(RackMultipart20210608-4-134iydv_html_c278aa3145c1d16.png)]

  • 克隆倉庫(第一次時) clone 克隆
  • 對工作目錄中檔案新增、修改、刪除操作
  • 暫存檔案,將檔案的快照放入暫存區 add 新增
  • 把暫存區的內容提交到本地倉庫 commit 提交
  • 把本地倉庫的內容提交到遠端倉庫 push 推播
  • 從遠端倉庫下載最新內容 pull 拉取

碼雲設定環境

註冊賬號

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-wOYTp28P-1623157728790)(RackMultipart20210608-4-134iydv_html_ee3df225ecfa14a5.png)]

每個人必須有自己的賬號,先官網註冊賬號:

https://gitee.com/

登入

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-VnYsOJoz-1623157728792)(RackMultipart20210608-4-134iydv_html_5630bfa6cae09d3a.png)]

安裝GIT

Git-2.27.0-64-bit,一路next,安裝完桌面右鍵選單有下面兩項,安裝完成。選擇Git Bash,進入git使用者端。

Windows開始選單:

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-SBXGzXKy-1623157728793)(RackMultipart20210608-4-134iydv_html_4ae4484baff4f1b.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-HKqLskdq-1623157728794)(RackMultipart20210608-4-134iydv_html_4d801917077277a1.png)]

設定字型

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-92XnFcD5-1623157728796)(RackMultipart20210608-4-134iydv_html_1ef4a9ee74a861f2.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-5moFLTTd-1623157728797)(RackMultipart20210608-4-134iydv_html_8ed65822656131e5.png)]

查詢git

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-tjnE2P7R-1623157728799)(RackMultipart20210608-4-134iydv_html_48b3579aef88fd4d.png)]

碼雲建立倉庫

建立遠端倉庫(在碼雲官網上)

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-0SRL9yPY-1623157728803)(RackMultipart20210608-4-134iydv_html_f2a881bc170fa9e4.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-1gg9jRd2-1623157728805)(RackMultipart20210608-4-134iydv_html_b0844519a8530850.png)] [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-rWgE9Vyn-1623157728806)(RackMultipart20210608-4-134iydv_html_48bbed748fd9ffd2.png)]
在這裡插入圖片描述

建立本地倉庫(在你的磁碟中)

建立測試檔案, 並在本地倉庫執行以下命令:

git config --global user.name "cgblpx" #設定註冊時的使用者名稱
git config --global user.email "[email protected]"  #設定註冊時的郵箱
git config --list #檢查設定資訊
mkdir j2ee
cd j2ee
git init								#初始化
在本地倉庫中,建立檔案1.txt
git add 1.txt						#新增檔案到git中處理
git commit -m "first commit"			#提交,設定說明資訊
git remote add origin https://gitee.com/nutony/j2ee.git	#遠端倉庫
git push -u origin master #把本地倉庫的資源 提交給Git伺服器

第一次執行會彈出下面的使用者名稱、密碼框,填寫碼雲的賬號資訊就可以

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-Wnj6aRSh-1623157728807)(RackMultipart20210608-4-134iydv_html_9b9a09017f20e7d9.png)]

重新整理頁面,如果建立成功,Git上介面發生變化如下樣子,這樣環境就完成了

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-vpiuq4ZW-1623157728808)(RackMultipart20210608-4-134iydv_html_1f03d41be6f2bf39.png)]

每日任務

每日早上開始工作前拉取最新團隊其他人提交的內容,每日下班前提交可用的內容

新檔案

建立專案目錄,建立新檔案,或者複製已有檔案或者複製已有目錄:

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-IShAhPCv-1623157728810)(RackMultipart20210608-4-134iydv_html_62064adbf9328ec1.png)]

推播

把本地檔案上傳到遠端倉庫中:

$ git add .								#新增當前目錄下檔案
$ git commit -m "j2ee part"				#提交,設定備註
$ git push -u origin master				#推播到遠端倉庫

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-Elz0HOoG-1623157728811)(RackMultipart20210608-4-134iydv_html_b701325b7a63de7d.png)]

拉取/下載

把遠端倉庫中的內容下載到本地:

$ git pull										#從伺服器拉取最新內容

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-4QBma7Ls-1623157728813)(RackMultipart20210608-4-134iydv_html_3843aa39ae42cc03.png)]

常見錯誤

Authentication failed for

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-ELddDPlA-1623157728816)(RackMultipart20210608-4-134iydv_html_feb27f7e4a2510ae.png)]

任何路徑下輸入都可以:

git config --system --unset credential.helper

然後提交操作時,會出現詢問框,重新輸入使用者名稱提示

failed to push some refs to…

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-JJuJ09xK-1623157728817)(RackMultipart20210608-4-134iydv_html_ff46da16045ae4c6.png)]

這是是因為readme.md 沒有存在在本地git中

git pull --rebase origin master #

$ git push -u origin master #推播到遠端倉庫

–rebase用在合併程式碼的時候其作用就是在一個隨機建立的分支上處理衝突,避免了直接汙染原來的分割區。

fatal: remote origin already exists

1、先輸入$ git remote rm origin(刪除關聯的origin的遠端庫)

2、再輸入重新執行 git push -u origin master

3、如果輸入第1步 還是報錯的話,error: Could not remove config section 'remote.origin'. 我們需要修改gitconfig檔案的內容

4、找到你的github的安裝路徑,我的是C:\Users\ASUS\AppData\Local\GitHub\PortableGit_ca477551eeb4aea0e4ae9fcd3358bd96720bb5c8\etc

5、找到一個名為gitconfig的檔案,開啟它把裡面的[remote "origin"]那一行刪掉就好了!

SSL certificate problem: unable to get local issuer certificate

	--執行命令解決: git config --global http.sslVerify false
	--重新push: git push -u origin master

郵箱是私有的報錯

在這裡插入圖片描述
需要在碼雲上,把郵箱改成公開的才行
在這裡插入圖片描述

IDEA整合Git

在Gitee建立新的倉庫

在網頁中建立倉庫名稱:cgb2109-3

進入workspace

進入workspace,再進入你的專案目錄,直接執行clone命令:

git clone https://gitee.com/cgblpx/cgb2109-3.git
也許:
需用執行其他的賬號密碼等命令

開啟IDEA的工程中,你會發現直接就能提交或者拉取程式碼了

在這裡插入圖片描述

推薦學習:《》

以上就是範例詳解Git的常見操作的詳細內容,更多請關注TW511.COM其它相關文章!