怎樣給自己的網(wǎng)站做優(yōu)化湖南百度推廣
文章目錄
- 前言
- 一、Git 和 Gitee 建立聯(lián)系
- 1.1 任意目錄下,打開 git bash 命令行,輸入以下命令生成公鑰
- 1.2 配置SSH公鑰
- 1.3 進(jìn)行全局配置
- 二、其它相關(guān)Git指令
- 2.1 常用指令
- 2.2 指令操作可能出現(xiàn)的問題
- 三、補充
- 3.1 **為什么要先commit,然后pull,然后再push,我pull了,豈不是把自己改的代碼都給覆蓋掉了嘛,因為遠(yuǎn)程沒有我改的代碼,我pull,豈不是覆蓋了我本地的改動好的地方了?那我還怎么push?**
- 3.2 兩個分支,A和B,A合并B和B合并A,有區(qū)別嗎?
前言
上一篇文章講了如何安裝和使用git版本控制工具。
但說起版本控制,怎么少的了團(tuán)隊協(xié)作,如果下班啦不想帶電腦晚上還想繼續(xù)搞怎么辦?
那就使用碼云、github在線管理吧!
數(shù)字化管理平臺
Vue3+Vite+VueRouter+Pinia+Axios+ElementPlus
權(quán)限系統(tǒng)-商城
個人博客地址
一、Git 和 Gitee 建立聯(lián)系
1.1 任意目錄下,打開 git bash 命令行,輸入以下命令生成公鑰
ssh-keygen -t rsa -C 郵箱
回車出現(xiàn) (y/n), 輸入 y , 連續(xù)點擊回車,即可生成,效果如下:
1.2 配置SSH公鑰
-
打開目錄 C:\Users\Dell\.ssh 目錄,找到 id_rsa.pub 文件,使用記事本打開
注意:不同電腦,用戶目錄有所差異 -
返回到瀏覽器中找到剛剛云端倉庫創(chuàng)建完成的 gitee 頁面
右上角找到個人信息點開,找到 ”設(shè)置“ 并打開
3. 設(shè)置頁面如下
-
找到左側(cè)欄 ”安全設(shè)置“ 中的 ”SSH公鑰“,點擊后如下
生成公鑰的官方指導(dǎo)步驟:https://gitee.com/help/articles/4191#article-header0
默認(rèn)公鑰數(shù)量為 0,在 ”添加公鑰“ 欄目下,添加 ”標(biāo)題“ 和 ”公鑰“
注:標(biāo)題名字為自定義 公鑰為剛剛用記事本打開的 ”id_rsa.pub“ 文件中的內(nèi)容
粘貼完成后,點擊確定。此時就會顯示 ” 您當(dāng)前的SSH公鑰數(shù):1 “。
1.3 進(jìn)行全局配置
輸入以下指令
git config --global user.name "你的用戶名"
git config --global user.email "你的郵箱"
將納入版本庫的文件,提交到 gitee 遠(yuǎn)程倉庫:
git remote add origin 你的倉庫地址
git push -u origin master
此時,提交完成,打開瀏覽器,輸入你的倉庫地址 ,如: https://gitee.com/magnumhou/test.git 即可看到上傳文件:
二、其它相關(guān)Git指令
2.1 常用指令
- 查看當(dāng)前分支:git branch
- 查看包含遠(yuǎn)程分支在內(nèi)的所有分支:git branch -a
- 創(chuàng)建分支:git branch
- 切換分支:git checkout
- 創(chuàng)建+切換分支:git checkout -b
- 推送本地分支到遠(yuǎn)程分支 (遠(yuǎn)程和本地分支需同名):git push origin :
- 如果本地分支未與遠(yuǎn)程分支建立關(guān)聯(lián),拉取遠(yuǎn)程代碼需執(zhí)行:git pull origin 也就是需標(biāo)明拉去遠(yuǎn)程的具體分支名*
- 合并某分支到當(dāng)前分支:git merge
- 刪除本地分支:git branch -d
- 刪除遠(yuǎn)程分支:git push origin : 或 git push origin --delete
- git clone 項目地址 下載或克隆別人的項目到本地
- git status 查看被修改的文件
- git diff 文件 查看指定文件修改的內(nèi)容
- git reset --hard HEAD^ 回退到上一個版本
- git reset --hard HEAD^^ 回退到上上個版本
- git reset --hard HEAD^…^ 回退到上N個版本,當(dāng)然這是比較麻煩的,可以使用以下簡化
- git reset --hard HEAD~100 回退到上100個版本
- git reset --hard HEAD commit id 通過指定id回到未來某個版本,可以通過 git log 查看提交歷史
2.2 指令操作可能出現(xiàn)的問題
git pull 將遠(yuǎn)程主機的最新內(nèi)容拉下來后直接合并 可能會出現(xiàn)沖突
git pull origin master // 拉取主分支最新代碼,手動解決沖突
pwd 查看當(dāng)前目錄所在的系統(tǒng)文件路徑
三、補充
3.1 為什么要先commit,然后pull,然后再push,我pull了,豈不是把自己改的代碼都給覆蓋掉了嘛,因為遠(yuǎn)程沒有我改的代碼,我pull,豈不是覆蓋了我本地的改動好的地方了?那我還怎么push?
這個先 commit 再 pull 再 push 的情況就是為了應(yīng)對多人合并開發(fā)的情況:
- commit 是為了告訴 git 我這次提交改了哪些東西,不然你只是改了但是 git 不知道你改了,也就無從判斷比較;
- pull是為了本地 commit 和遠(yuǎn)程commit 的對比記錄,git 是按照文件的行數(shù)操作進(jìn)行對比的,如果同時操作了某文件的同一行那么就會產(chǎn)生沖突,git 也會把這個沖突給標(biāo)記出來,這個時候就需要先把和你沖突的那個人拉過來問問保留誰的代碼,然后在 git add && git commit && git pull 這三連,再次 pull 一次是為了防止再你們協(xié)商的時候另一個人給又提交了一版東西,如果真發(fā)生了那流程重復(fù)一遍,通常沒有沖突的時候就直接給你合并了,不會把你的代碼給覆蓋掉
- 出現(xiàn)代碼覆蓋或者丟失的情況:比如A B兩人的代碼pull 時候的版本都是1,A在本地提交了2,3并且推送到遠(yuǎn)程了,B 進(jìn)行修改的時候沒有commit 操作,他先自己寫了東西,然后 git pull 這個時候 B 本地版本已經(jīng)到3了,B 在本地版本3的時候改了 A 寫過的代碼,再進(jìn)行了git commit && git push 那么在遠(yuǎn)程版本中就是4,而且 A 的代碼被覆蓋了,所以說所有人都要先 commit 再 pull,不然真的會覆蓋代碼的
3.2 兩個分支,A和B,A合并B和B合并A,有區(qū)別嗎?
兩個互相合并的唯一區(qū)別就是 A->B 的時候 B 分支上會產(chǎn)生一個 merge_commit 的信息,這個時候 B 是合并狀態(tài)而 A 未合并狀態(tài),如果現(xiàn)在沒有發(fā)生任何改動執(zhí)行 B->A 就直接切換過去了,連 merge_commit 都不會生成了