gitee.com 上傳代碼操作
https://blog.csdn.net/gxx_csdn/article/details/78906910
書接上回:碼雲gitee+git入門篇(一)——簡介、git安裝
繼對gitee和git的簡單介紹以及git安裝之后,這篇博客主要介紹如何使用git命令,從而在碼雲上進行代碼托管。
首先,參考碼雲平台幫助文檔先介紹一下git中的幾個重要概念:分支、提交、拉取和推送,有助於幫助理解下面的內容。
1. 分支(git branch命令)
git默認分支一般是master,當然,這是可以修改的,我們在master完成一次開發,生成了一個穩定版本,那么當需要添加新功能或者做修改時,只需要新建一個分支,然后在該分支上開發,完成后合並到主分支即可,分支功能解決了正在開發的版本與上線版本穩定性沖突的問題。
2. 提交(git commit命令)
git對於版本的管理其實是對提交的管理,git使用40個字節長度的16進制字符串來標識每一個提交,每一個提交具有唯一的標識,根據這個標識可以任意回退。
3. 拉取(git pull命令)
用於取回遠程倉庫某個分支的更新,再與本地倉庫合並。
4. 推送(git push命令)
用於把本地的代碼更新到遠程倉庫。
一、創建遠程代碼倉庫
1. 登陸gitee賬號:
2. 新建項目:
點擊新建后,可以看到遠程代碼倉庫創建成功,並且有一個README.md文件:
二、創建本地代碼倉庫
1. 在本地一個盤下新建一個文件夾,當作本地代碼倉庫,也就是說希望之后這個文件夾里的文件的改動都能被git進行管理。
例如我在F盤內新建一個名為testGit的文件夾:
2. 在該文件內按住Shift鍵並點擊鼠標右鍵,選擇”在此處打開Powershell窗口“,bash,進入Linux環境(剛安裝了Ubuntu,因為打算學點Linux命令,嘿嘿,如果沒有安裝Ubuntu,就不需要bash,直接執行git命令就行)執行代碼:
git init
- 1
這句話的意思是初始一個本地倉庫,之后可以看到在該文件夾下多了一個.git文件夾,用於記錄所有與管理本倉庫相關的文件,
所以請小心改動。
三、進行代碼托管
本地代碼倉庫和遠程代碼倉庫都創建好之后,需要把它們進行同步才能在gitee上進行代碼托管。
1.本地代碼倉庫與遠程代碼倉庫進行同步,執行代碼:
git remote add origin https://gitee.com/gxx_gitee/testGit.git
- 1
其中遠程庫的名字就是origin,這是git默認的叫法,也可以改成別的,但是origin這個名字一看就知道是遠程庫。
我試驗過origin可以改為項目名,或者和項目名不同也都是可以的,因為重要的是后面的url,每個遠程代碼庫都有一個自己的url,
所以本地倉庫本質上是和這個url所指代的遠程倉庫進行關聯的。
2.拉取遠程代碼庫
由於在創建遠程倉庫時會初始化一個README.md文件,而本地倉庫里沒有,所以需要先執行pull操作將遠程倉庫拉取合並到本地倉庫,否則會出錯。執行代碼:
git pull origin master
- 1
【注1:由於在本地創建了代碼倉庫,git默認關聯的庫在本地,所以直接執行git pull
命令是無效的,需要執行git pull origin master
命令才行,這句話的意思是推送到遠程庫master分支,此外,也可以根據提示執行一下git branch --set-upstream origin master
命令,以后就可以直接使用git pull
了】
此時可以看到在本地代碼倉庫中多了一個README.md文件。
【注2:如果遇到錯誤提示“fatal: refusing to merge unrelated histories”,出現這種錯誤是因為git會以為這兩個倉庫不同所以進行無法合並,在執行pull操作時添加–allow-unrelated-histories,即執行git pull origin master --allow-unrelated-histories
就可以了】
3.向遠程代碼倉庫推送文件(例如在本地代碼倉庫中新建了test1.txt和test2.txt文件,現把它們同步到遠程代碼倉庫),執行代碼:
git add .
git commit -m "對該操作的相關描述"
- 1
- 2
可以看到,git追蹤到了倉庫中文件的變化,所以說git起到了作用。現在執行push操作將它推送到遠程代碼庫:
git push git push --set-upstream origin master
- 1
- 2
【注3:這里使用git push
命令會和上面使用git pull
時出現同樣的問題,根據提示git push --set-upstream origin master
,以后就可以直接使用git push
命令了】
刷新遠程代碼倉庫,可以看到文件被成功的同步到了遠程倉庫:
當然,同步一個文件夾到遠程倉庫與同步單個文件相同,只不過無法同步空文件夾到遠程倉庫,因為git會認為沒有改動。
參考連接:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000,感謝作者。
【說明】:
很明顯,這種方式在代碼倉庫同步上比較繁瑣,所以我也不是很推薦,但是理解這種方式還是很重要的,下面介紹一種簡單點的方式。