有關Git命令的總結
本文目錄:
- Git基礎操作(本地倉庫)
- Git分支操作 (本地倉庫)
-
Git本地倉庫與遠端Github倉庫之間的操作
最重要的是:
1 能夠掌握 Git 中基本命令的使用 -
⚫ git init
⚫ git add .
⚫ git commit –m "提交訊息"⚫ git status 和 git status -s
2 能夠使用 Github 建立和維護遠端倉庫
⚫ 能夠配置 Github 的 SSH 訪問
⚫ 能夠將本地倉庫上傳到 Github
3 能夠掌握 Git 分支的基本使用
⚫ git checkout -b 新分支名稱
⚫ git push -u origin 新分支名稱⚫ git checkout 分支名稱
⚫ git branch
一、Git基礎操作命令(本地倉庫)
#全域性配置【使用者名稱】和【郵箱】注:使用--global全域性設定一次,永久生效 git config --global user.name ”yourname“ git config --global user.email ”youremail“ #檢查全域性配置資訊 git config --list --global #檢查制定全域性配置項 git config user.name git conf user.email #獲取幫助 如關於config的幫助 git help config 過 git config -h #獲取Git倉庫的兩種方法 1. 將尚未版本控制的本地目錄轉為Git倉庫 window版:在專案目錄中,通過滑鼠右鍵開啟“Git Bash” 執行:git init 即可(只是初始化,但未跟蹤,必須git add後才跟蹤) Mac版:cd 到目標目錄 再執行: git init 2. 從其他伺服器克隆一個已經存在的Git倉庫 #檢查檔案狀態(四個狀態:1.未跟蹤 2.未修改 3.已修改 4.已暫存) git status 精簡方式檢視: git status -s #開始跟蹤,即提交到暫存區 提交單個檔案: git add 檔名 提交所有檔案: git add . //git add 有以下功能: 1.提交檔案,開始跟蹤 2,把跟蹤的且已修改過的檔案放到暫存區 3.把有衝突的檔案標記為已解決狀態(即提交到暫存區) #提交已暫存的到本地倉庫(提交後狀態為未修改) git commit -m ”備註資訊“ #撤銷對檔案的修改(很危險) git checkout -- 檔名 #取消暫存的檔案 git reset HEAD 檔名 #跳過暫存區直接提交倉庫 git commotion -a -m ”備註資訊“ #從倉庫和工作區同時移除對應檔案 git rm -f 檔名 #只從倉庫中移除檔案,保留工作區對應檔案 Git rm --cacher 檔名 #檢視提交歷史 git log //所有歷史版本 git log -2 //最近兩次的歷史版本 git log -2 --pretty=oneline //一行中上顯示 git log -2 --pretty=format:”%h | %an | %ar | %s" //自定義格式顯示 #回退到指定版本 git reset --hard 版本ID #手動建立.gitignore檔案(忽略檔案)檔案內填寫如下資訊的話: *.a //忽略所有 .a 檔案 !lib.a // 所有的 lib.a 檔案不忽略 需跟蹤 /TODO //只忽略當前目錄下的TODO檔案,而不忽略其他檔案下的TODO檔案 build/ //忽略任何目錄下的 build 資料夾 doc/*.pdf //忽略doc資料夾裡的所有一級 .pdf 檔案 二級之後的不忽略 doc/**/*.pdf //忽略doc資料夾裡的所有包括子孫代目錄下的.pdf檔案
二、Git分支操作(本地倉庫)
1、理解概念
在初始化本地 Git 倉庫的時候,Git 預設已經幫我們建立了一個名字叫做 master 的分支。通常我們把這個master 分支叫做主分支。
在實際工作中,master 主分支的作用是:用來儲存和記錄整個專案已完成的功能程式碼。 因此,不允許程式設計師直接在 master 分支上修改程式碼,因為這樣做的風險太高,容易導致整個專案崩潰。
由於程式設計師不能直接在 master 分支上進行功能的開發,所以就有了功能分支的概念。
功能分支指的是專門用來開發新功能的分支,它是臨時從 master 主分支上分叉出來的,當新功能開發且測試 完畢後,最終需要合併到 master 主分支上,如圖所示:
2、關於分支的命令
#檢視分支列表 帶*的是當前所處分支
git branch
#建立分支
git branch 分支名稱 //注意:只能在主分支下建立了分支,而且建立了分支還在主分支上,並未轉到建立的分支上
git checkout -b 分支名稱 //建立了分支後直接切換到改分支 b 就是branch意思
#切換分支
git checkout 需要轉去的分支名稱
#合併分支
git checkout master //先切換到master主分支上
git merge 被合併的分支名稱 //將需要合併的分支名稱合併到master主分支上,此時被合併的分支並未刪除
#刪除分支
git branch -d 分支名稱
#合併時遇到衝突的處理
先手動處理衝突
在輸入以下命令:
git add . //提交到暫存區
git commit -m “備註” //提交到倉庫
三、Git本地倉庫與遠端倉庫操作(GitHub)
1、GitHub遠端倉庫與本地倉庫的兩種關聯方式
1)HTTPS:零配置;但是每次訪問倉庫時,需要重複輸入 Github 的賬號和密碼才能訪問成功
2)SSH:需要進行額外的配置;但是配置成功後,每次訪問倉庫時,不需重複輸入 Github 的賬號和密碼(推薦)
下面只提供SSH方式:
SSH key 的作用:實現本地倉庫和 Github 之間免登入的加密資料傳輸。SSH key 的好處:免登入身份認證、資料加密傳輸。
SSH key 由兩部分組成,分別是:
1)id_rsa(私鑰檔案,存放於客戶端的電腦中即可)
2)id_rsa.pub(公鑰檔案,需要配置到 Github 中)
具體配置檢視我的博文:Git安裝和配置
接下來的操作(關聯本地倉庫和GitHub倉庫):
2、遠端GitHub倉庫與本地倉庫操作的其他命令
#克隆遠端倉庫到本地
git clone 遠端倉庫地址
#第一次將本地分支推送到遠端倉庫 -u表示關聯
git push -u 遠端倉庫別名(即origin) 本地分支名稱:遠端分支名稱(不需要重新命名的話只填本地分支名稱)
例如:git push -u origin login
#除第一次,之後的本地分支推送到遠端倉庫只需要
git push
#檢視遠端倉庫中所有的分支列表
git remote show 遠端倉庫名稱
#把遠端分支跟蹤到本地分支(即下載)
git checkout 遠端分支名稱
#把遠端分支跟蹤(下載)到本地分支並進行重新命名
git checkout -b 本地分支名稱 遠端倉庫名稱/遠端分支名稱
#拉取遠端修改過的分支到本地對應分支
git pull
#刪除遠端分支
git push 遠端倉庫名稱 --delete 遠端分支名稱
如:git push origin --delete login