git命令列完全解讀

prettyEcho發表於2018-04-03

BY 張建成(prettyEcho@github)

除非另行註明,頁面上所有內容採用知識共享-署名(CC BY 2.5 AU)協議共享

原文地址deep.js , 歡迎 評論star

?? 歡迎評論和star ??

git命令列

  1. git clone

    • 用於將遠端倉庫拷貝到本地
    • ssh: git clone username@host:/path/to/repository
    • https: git clone https:/path/to/repository.git
  2. git config

    • 這個命令定義了所有配置,從使用者資訊到倉庫行為等等
    • git config --global --edit : 編輯器開啟配置檔案
    • git config --global user.name : 配置提交的使用者名稱
    • git config --global user.email : 配置提交的郵箱
  3. git add

    • 將本地工作區(Working dir)改變提交到快取區(Index)
    • git add : 提交確定檔案
    • git add * : 提交所有更改
    • git add -A : 提交tracted和untracted中的檔案提交到快取區
    • git add -u : 提交tracted中的檔案提交到快取區
    • git add -p : 互動式提交
  4. git commit

    • 將快取的快照提交到專案歷史
    • git commit -m "" : 提交已經快取的快照。它會執行文字編輯器,等待你輸入提交資訊。當你輸入資訊之後,儲存檔案,關閉編輯器,建立實際的提交。
  5. git status

    • 列出已快取、未快取、未追蹤的檔案(快取區和工作區檔案狀態)
    • Changes to be committed: 檔案在快取區
    • Changes not staged for commit: 在工作區已經追蹤的檔案
    • Untracked files: 在工作區未追蹤的檔案
  6. git pull

    • 拉取併合並遠端專案(預設拉取marter專案)
  7. git push

    • 推送本地git到遠端
    • git push
    • git push origin : 推送本地git到遠端某個分支
    • git push --set-upstream origin : 建立遠端分支並推送程式碼
  8. git log git

    • 命令顯示已提交的快照
  9. git checkout

    • 這個命令有三個不同的作用:檢出檔案、檢出提交和檢出分支

    • 提交層面

      • 移動HEAD指標到固定的提交
      • git checkout HEAD~2
      • git checkout
    • 檔案層面

      • 用提交版本中的檔案覆蓋本地工作區的檔案
      • git checkout HEAD~2 test.txt
      • git checkout HEAD (常用)

    checkout-file

    • 分支層面
      • 切換分支
      • git checkout
  10. git reset

    • 修改提交版本,會刪除提交歷史(一定要謹慎),切記當把提交推送到遠端後,禁止使用git reset

    • 提交層面

      • git reset --soft HEAD~2
      • git reset --soft

    reset

    除了在當前分支上操作,你還可以通過傳入這些標記來修改你的快取區或工作目錄:

    * --soft – 快取區和工作目錄都不會被改變
    * --mixed – 預設選項。快取區和你指定的提交同步,但工作目錄不受影響
    * --hard – 快取區和工作目錄都同步到你指定的提交
    複製程式碼

    reset-scope

    常用操作:

    * git reset --mixed HEAD / git reset HEAD
    * git reset --hard HEAD
    複製程式碼
    • 檔案層面

      • 用提交版本中的檔案覆蓋快取區的檔案
      • git reset HEAD~2 text.txt
      • git reset HEAD

      reset-file

  11. git revert

    • Revert撤銷一個提交的同時會建立一個新的提交。這是一個安全的方法,因為它不會重寫提交歷史。
    • git revert HEAD~2
      • 會找出倒數第二個提交,然後建立一個新的提交來撤銷這些更改,然後把這個提交加入專案中。

    revert

  12. git stash

    • git stash : 暫存當前正在進行的工作
    • git stash pop : 恢復暫存的檔案
    • git stash list: 顯示暫存棧中所有暫存的歷史
    • git stash apply stash@{1} : 將指定暫存紀錄恢復
    • git stash clear : 清空暫存棧
  13. git branch

    • 建立、列出、重新命名和刪除分支
    • git branch : 列出所有分支
    • git branch : 建立一個名為的分支
    • git branch -d : 刪除指定分支。這是一個安全的操作,Git 會阻止你刪除包含未合併更改的分支。
    • git branch -D : 強制刪除指定分支,即使包含未合併更改。如果你希望永遠刪除某條開發線的所有提交,你應該用這個命令。
    • git branch -m : 將當前分支命名為 。
  14. 簡記圖

main

  1. 參考 www.cnblogs.com/houpeiyong/… github.com/geeeeeeeeek…

相關文章