GIt學習及命令的使用(五)——Git分支操作

一、添加 SSH 關聯授權

在每次進行Git push時都會要求輸入用戶名和密碼,如何避免?

1、可以在系統中創建 SSH 公私鑰,並將公鑰放到 GitHub 指定位置。如此操作即可生成 GitHub 賬戶對於當前系統中的 Git 授權。
2、終端執行 ssh-keygen命令按幾次回車生成公私鑰,公私鑰存放在主目錄(在執行這個命令時會看到公鑰存儲目錄)下的隱藏目錄 .ssh 中的兩個文件中;
3、然後將 ~/.ssh/id_rsa.pub 文件中的公鑰內容複製出來。
4、然後在github網頁上添加公鑰。
在這裏插入圖片描述
5、然後在github上進入該項目倉庫主界面,選擇使用ssh,然後複製這個鏈接。點擊“use SSH”會得到git開頭的鏈接。在這裏插入圖片描述
6、在實驗環境裏刪除原倉庫,使用此鏈接重新克隆倉庫。克隆倉庫是需要確認連接,輸入 yes 即可
注意!!!!重要的一點:只有使用這種 git 開頭的地址克隆倉庫,SSH 關聯纔會起作用。
在這裏插入圖片描述

二、爲 Git 命令設置別名

設置方法:git config --global alias.[別名] [原命令]
在這裏插入圖片描述
如果忘記了別名,可以使用git config -l命令查看。

三、Git 分支管理

1. git fetch 刷新本地分支信息

git fetch:它的作用是將遠程倉庫的分支信息拉取到本地倉庫,注意,僅僅是更新了本地的遠程分支信息,也就是執行 git branch -avv 命令時,查看到的 remotes 開頭的行的分支信息。
fetch 命令的作用是刷新保存在本地倉庫的遠程分支信息,此命令需要聯網。

此時若想使本地 master 分支的提交版本爲最新,可以執行 git pull命令來拉取遠程分支到本地,pull 是拉取遠程倉庫的數據到本地,需要聯網,而由於前面執行過 git fetch 命令,所以也可以執行 git rebase origin/master 命令來實現 “使本地 master 分支基於遠程倉庫的 master 分支”

2.創建新的本地分支

新的分支來存放不同版次的代碼。
團隊中,每個人都有各自的分支,在自己的分支上進行修改,然後向 master 分支提 PR(pull request),最後從 master 分支推送到線上。

第一步:克隆遠程倉庫到本地,進入倉庫主目錄,執行 git branch -avv 查看分支信息。
在這裏插入圖片描述
git branch [分支名]可以創建新分支
在這裏插入圖片描述
git checkout [分支名]切換分支(將當前分支切換到mybranch分支上)
在這裏插入圖片描述
git checkout -b [分支名] 創建分支並切換到新分支。
在這裏插入圖片描述

注意:前兩行是新建的本地分支信息,它們的版本號與主分支 master 一致,這是因爲在哪個分支上創建新分支,新分支的提交記錄就與哪個分支一致。新建分支並無跟蹤任何遠程分支,所以沒有 master 分支中的中括號和括號內的藍色遠程分支名。

3.將新分支中的提交推送至遠程倉庫

例如此時在當前分支 dev 上開發一個新的功能,需要增加一個文件 new_fie.txt,然後生成一個新的提交,正常邏輯當然要推送到遠程倉庫的同名分支,不過現在遠程倉庫裏只有一個分支,此時,我們可以在github上創建一個新分支,也可以 通過以下操作:
git push [主機名] [本地分支名]:[遠程分支名] 即可將本地分支推送到遠程倉庫的分支中,通常冒號前後的分支名是相同的,如果是相同的,可以省略 :[遠程分支名],如果遠程分支不存在,會自動創建。
在這裏插入圖片描述
可以發現:遠程分支 origin/dev的信息已經在本地存在,且與本地同名分支一致,github遠程倉庫中也出現了dev分支:
在這裏插入圖片描述

4.本地分支跟蹤遠程分支

如果在之後在本地dev分支提交文件時,不想輸入git push origin dev而想直接輸入git push時,可按以下方法解決:

git branch -u [主機名/遠程分支名] [本地分支名]本地分支與遠程分支關聯,或者說使本地分支跟蹤遠程分支。如果是設置當前所在分支跟蹤遠程分支,最後一個參數本地分支名可以省略不寫。
在這裏插入圖片描述

撤銷本地分支對遠程分支的跟蹤:
執行git branch --unset-upstream [分支名]即可撤銷該分支對遠程分支的跟蹤
在這裏插入圖片描述
撤銷本地分支dev對遠程分支dev的跟蹤


在推送時就自動跟蹤遠程分支
在這裏插入圖片描述(在本地分支devq上上傳文件到遠程倉庫的devq分支,此時本地devq分支自動跟蹤遠程的devq分支。)
在這裏插入圖片描述

5. 刪除遠程分支

刪除某個遠程分支:
git push [主機名] --delete [遠程分支名]
刪除多個遠程分支:
git push [主機名] --delete [遠程分支名] [遠程分支名] [遠程分支名]
在這裏插入圖片描述
在這裏插入圖片描述

6.本地分支的更名與刪除
  • 刪除本地分支:注意:當前所在的分支不能被刪除,必須切換到其他分支後再刪除
    git branch -D [分支名]
    在這裏插入圖片描述
  • 給本地分支改名
    git branch -m [原分支名] [新分支名](若修改當前所在分支的名字,原分支名可以省略不寫)
    在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章