1. 程式人生 > 其它 >有關Git命令的總結

有關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