Visual Studio使用Git進行程式碼版本管理

时光巷尾發表於2024-08-18

一、Visual Studio 建立一個專案

1、在Visual Studio中建立一個專案,我建立的專案名稱是"mainApi"

二、Gitee中新建倉庫

1、右上角點選【個人頭像】,選擇【新建倉庫】

2、輸入對應的資訊,點選【建立】

 - (1)輸入倉庫名稱,一般與本地程式名稱一致
 - (2)介紹一下該倉庫是幹什麼的,也可以不寫
 - (3)選擇開源還是私有,這裡自己選擇就好
 - (4)選擇初始化倉庫,選擇對應的語言
 - (5)選擇【分支型別】
 - (6)點選【建立】

3、建立好之後,我們可以看見我們對應的倉庫,我們複製一下HTTPS的連結,待會會使用到

三、Visual Studio中建立Git倉庫

1、在"Git"中選擇"建立Git倉庫(G)"

2、選擇“現有遠端”,在遠端URL中貼上剛剛從Gitee中複製的連結,然後點選建立並推送

3、推送成功之後,我們返回到Gitee中,重新整理對應的倉庫,我們就可以看見"mainApi"專案已經被推送到遠端倉庫了

到這裡證明我們本地建立的程式碼已經推送到遠端倉庫了。

四、專案程式碼同步(本地與遠端同步)

1、再次新建一個oaHelper.cs

此時表示本地的程式碼有了一些改變,我們需要將現在最新的程式碼同步到遠端倉庫

2、編寫程式碼完成之後,我們可以看見右邊中間有一個"Git更改",點選它,填寫程式碼功能說明,然後點選"全部提交"。

"全部提交"只是把新的更新暫存到本地倉庫,這時還需要把本地的暫存推送到遠端倉庫。然後點選"同步"的符號,此時會自動進行拉取以及自動合併和同步原生代碼到遠端倉庫的操作。也就是把它理解成,拉取和推送的簡化操作。例如,正常情況下,先點拉取,再點推送,要點選2次。但直接點選同步,Git 會直接幫你自動進行拉取和推送。只需要點選一次。
當出現"已成功同步傳入和傳出提交"的頁面時,表示原生代碼已經同步到遠端倉庫中。

3、再重新整理一下Gitee中的"mainApi"倉庫,我們可以看見剛剛在Visual Studio中填寫的"程式碼功能說明",這裡也表示已經將本地的程式碼成功推送到遠端倉庫中了。

五.專案程式碼同步操作基礎

1.拉取(應當每次提交程式碼之前,先進行拉取操作)。

拉取和提取的區別:

拉取:如果當前存在未同步的程式碼,(未同步的程式碼指:程式碼已經提交到本地倉庫,但未同步到遠端倉庫)。進行拉取的時候,剛好遠端倉庫也有新的程式碼提交,就會和本地未同步的程式碼進行自動合併,如果合併過程沒有衝突,提示拉取完成。這個時候再點選推送,把未同步的程式碼推上遠端倉庫即可完成程式碼同步。如果自動合併過程,發生程式碼衝突,找到衝突檔案,進行處理完成,即可正常推送。(未解決的衝突程式碼禁止強制推送)
提取:如果本地倉庫存在未同步的程式碼,進行提取的時候,剛好遠端倉庫也有新的程式碼提交,提取下來新的程式碼就不會進行和本地未同步的程式碼進行自動合併。區別就是這點。(常用的是拉取而不是提取)

2.推送

編寫程式碼完成後,點選 Git更改(如果沒有找到,可以在vs 頂部導航欄,檢視--Git更改),填寫程式碼功能說明,點選 全部提交。全部提交只是把新的更新暫存到本地倉庫,這時還需要把本地的暫存推送到遠端倉庫。提交完成後點選推送按鈕:如果遠端倉庫已經有新的程式碼提交,但你事先沒有進行拉取操作,Git會提示,先進行拉取操作後然後再推送。這個時候只需要按照提示,先拉取--再推送。就會顯示推送成功的狀態訊息。如果遠端倉庫沒有新的程式碼提交,就會直接提示推送成功的狀態訊息了。(按照正常的流程,一般是先拉取再推送)

3.同步

程式碼功能編碼完成後,點選 Git更改,填寫完成功能說明後,點選 全部提交。然後點選同步按鈕:此時會自動進行拉取以及自動合併和同步原生代碼到遠端倉庫的操作。也就是把它理解成,拉取和推送的簡化操作。例如,正常情況下,先點拉取,再點推送,要點選2次。但直接點選同步,Git 會直接幫你自動進行拉取和推送。只需要點選一次。

4.切換分支

4.1 建立以檢視分支

預設的情況下,拉取的遠端倉庫的程式碼下來後,本地會預設建立一個master 分支。如果我們想增加一個新的功能模組,需要新建一個分支來開發新的程式碼功能。(也可以直接在master 分支中開發,但一般不建議這樣做)
新建分支,在vs 右下角,點選 master 分支

點選新建分支,例如Branch_Location 就是我新建立的分支
新建分支:輸入要新建分支的名稱。點選建立的時候,如果勾選上 簽出分支 就是Git會把當前指向的分支切換到新建立的分支上。如果不勾選上 簽出分支 那麼建立新的分支完成後,當前的分支還是指向 master 分支

如何區分當前所在的分支(即當前專案指向的分支),vs 中看當前專案右下角顯示的是那個分支,那麼當前所在的就是那個分支。例如 顯示 master。

也可以點選 master ,列出本地所有的分支中,master 明顯加粗了,也表示當前所在的分支是 master

4.2 切換分支

vs 中點選專案右下角

然後點選要切換的分支

切換完成後,vs 右下角顯示了剛切換的分支名,即分支切換成功,當前所在的分支就是Branch_Location 了,就可以在新分支上面開發新的功能了。
5.合併分支
分支併合有2種情況:

第一種,我當前在Branch_Location 上面開發新的功能,但由於功能複雜,開發週期比較久。這時遠端的倉庫有新的程式碼提交了,我想把新的程式碼同步到Branch_Location 上面來,以保證當前的分支永遠和遠端倉庫的分支同步。
第二種,當前的 Branch_Location 分支上的功能已經開發完成了,需要同步到遠端倉庫上面去。所以就需要使用到 合併分支 的功能了。(分支合併完成後,當前的Branch_Location 分支不會自己刪除,除非自己手動刪除。如果新的功能開發完成,並且程式碼也合併上master 分支了,根據需求可刪掉當前分支(Branch_Location )或保留當前分支)

第一種情況合併操作說明:

1. 當前處於 Branch_Location 分支,我要同步遠端倉庫的新提交程式碼下來,就需要切換到本地的 master 分支,進行同步操作。表示同步最新的程式碼到本地的 master中

2. master 同步最新程式碼完成後,切換到 Branch_Location 分支,滑鼠懸停在 master 分支上,右鍵。(注意不是直接點選,直接點選master 分支會切換分支到master 了)點選 合併到 Current Barnch (合併到當前分支) 。那麼當前分支如何辯別,也在上面說過了,字型加粗的就是當前指向的分支。所以合併到當前的分支就是 Branch_Location 了,彈窗確認後,就會把最新的遠端倉庫程式碼同步到本地的 Branch_Location 了

第二種情況合併操作說明:

1.當前處於 Branch_Location 分支,功能開發完成後。需要把新的程式碼功能同步到遠端倉庫上面去。那麼首先要在當前的分支中,進行程式碼推送。

2.因為剛才建立的 Branch_Location 分支只是在本地有,遠端倉庫還沒有。所以點選推送的時候,Git會自動在遠端倉庫建立一個遠端倉庫的 Branch_Location 分支。當前本地的Branch_Location 分支新增的功能程式碼就會推送到遠端的Branch_Location 分支了。(遠端Branch_Location 分支和本地Branch_Location 分支程式碼是同步狀態的了)

3.推送完成後,由於當前的Branch_Location 分支新的功能程式碼需要合併到 遠端倉庫(master分支) ,這時,我們把分支切換到 本地master 分支,滑鼠懸停在 Branch_Location 分支上,右鍵。(注意不是直接點選,直接點選Branch_Location 分支會切換分支到 Branch_Location 了)然後 點選 合併到 Current Barnch (合併到當前分支) 。彈窗確認後,就會把Branch_Location 分支新的功能程式碼合併到本地的 master 了。

4. 然後在master 分支點選同步,就完成了分支的同步操作了。完成這個操作後,Branch_Location 分支的新的功能程式碼也同步到遠端倉庫了,該分支可進行刪除或保留看需要了。

參考連結:參考連結一 參考連結二

相關文章