Git指令學習

2019-09-12-Git指令學習

1. 主要命令

1. 基礎篇

  1. Git Commitcss

    #提交記錄:提交項目修改內容
    git commit "message"

    Git提交message格式:html

    <type>(<scope>): <subject>
    <BLANK LINE>
    <body>
    <BLANK LINE>
    <footer>

    大體分爲三個部分:git

    • 標題行: 必填, 描述主要修改類型和內容
    • 主題內容: 描述爲何修改, 作了什麼樣的修改, 以及開發的思路等等
    • 頁腳註釋: 放 Breaking Changes 或 Closed Issues

構成:shell

    • type: commit 的類型
    • feat: 新特性
    • fix: 修改問題
    • refactor: 代碼重構
    • docs: 文檔修改
    • style: 代碼格式修改, 注意不是 css 修改
    • test: 測試用例修改
    • chore: 其餘修改, 好比構建流程, 依賴管理.
    • scope: commit 影響的範圍, 好比: route, component, utils, build...
    • subject: commit 的概述, 建議符合 50/72 formatting
    • body: commit 具體修改內容, 能夠分爲多行, 建議符合 50/72 formatting
    • footer: 一些備註, 一般是 BREAKING CHANGE 或修復的 bug 的連接
    #例如
    git commit "feat add new"
    git commit "fix test error"
    1. Git Branchbash

      Git分支:簡單的指向某個提交記錄學習

      建立分支並不會形成儲存或內存上的開銷測試

      用於將分支和提交記錄結合起來ui

      #新建分支
      git branch newBranch
      #切換分支
      git checkout newBranch
      #新建分支並切換
      git checkout -b newBranch
    2. 分支與合併翻譯

      #在 Git 中合併兩個分支時會產生一個特殊的提交記錄,它有兩個父節點。翻譯成天然語言至關於:「我要把這兩個父節點自己及它們全部的祖先都包含進來。」
      #把 newBranch 合併到 master 裏
      git checkout master
      git merge newBranch
      #再把 master 分支合併到 newBranch
      git checkout newBranch
      git merge master
    3. Git Rebasecode

      #Rebase:取出一系列的提交記錄,「複製」它們,而後在另一個地方逐個的放下去
      #建立更線性的提交記錄,提交歷史異常清晰
      #把 newBranch 分支裏的工做直接移到 master 分支
      git checkout newBranch
      git rebase master
      #此時原來 newBranch 的提交記錄依然存在,而剛纔的記錄是 Rebase 到 master 分支的副本
      #更新master
      git checkout master
      git rebase newBranch

    2. 高級篇

    1. 分離HEAD

      #HEAD 是一個對當前檢出記錄的符號引用——也就是指向你正在其基礎上進行工做的提交記錄。
      #HEAD 老是指向當前分支上最近一次提交記錄。大多數修改提交樹的 Git 命令都是從改變 HEAD 的指向開始的。
      #HEAD 一般狀況下是指向分支名的(如 newBranch)。在你提交時,改變了 newBranch 的狀態,這一變化經過 HEAD 變得可見。
      #查看HEAD指向
      cat .git/HEAD
      #若是HEAD指向的是一個引用
      git symbolic-ref HEAD
      #從 newBranch 分支中分離出 HEAD 並讓其指向一個提交記錄。
      #經過哈希值指定提交記錄。每一個提交記錄的哈希值顯示在表明提交記錄的圓圈中。
      #此處假如 newBranch 分支下的提交記錄的哈希值爲 X
      git checkout X

    歡迎郵箱交流:serendipity-zsh@foxmail.com

    相關文章
    相關標籤/搜索