經常使用 Git 命令清單

前言

我在工做中使用 vscode 做爲開發編輯器,本地安裝了 TortoiseGitgit bashConemu 來使得命令行操做有所減小,可是必要的命令仍是必須的。爲了提升操做的效率與使用體驗,還作了自定義配置。html

在這裏記錄一下我經常使用的 Git 命令清單,方便查閱。git

命令清單

初始化

# 配置用戶名
git config --global user.name "本身的名字"

# 配置郵箱
git config --global user.email "本身的郵箱"

# 生成設備公鑰
ssh-keygen -t rsa || ssh-keygen

# 測試 github 鏈接狀態
ssh -T git@github.com

# 拷貝項目與歷史記錄
git clone [url]

配置

# 顯示當前的Git配置
git config --list

# 編輯Git配置文件
git config -e [--global]

查看信息

# 查看提交日誌,圖形化顯示合併關係 (自定義簡化命令)
git lgh

# 顯示整個本地倉庫的最近提交,包括全部分支
git reflog

# 顯示工做區有變動的文件
git status => git st

# 查看某次 commmit 的提交信息
git show [commitID]

# 顯示某次提交時,某個文件的內容
$ git show [commitID]:[filename]

# 顯示兩次提交之間的差別
$ git diff [first-commitID] [second-commitID]

撤銷

# 重置當前分支的HEAD爲指定commitID,同時重置暫存區和工做區,與指定commit一致
git reset --hard [commitID]

# 取消 rebase
git rebase --abort

代碼提交

=> 後爲自定義的簡化命令
# 拉取遠端最新代碼(本地沒有修改)
git pull --rebase => git pr

# 拉取遠端最新代碼(本地有修改)
git pull --rebase --autostash => git prs

# 添加指定文件到暫存區
git add [file1] [file2] ...

# 添加當前目錄的全部文件到暫存區
git add .

# 提交 log 註釋
git commit -m "commit log"

# 推送到遠端
git push

分支

# 列出全部本地分支
git branch => git br

# 列出全部遠程分支
git branch -r

# 列出全部本地分支和遠程分支
git branch -a

# 新建一個分支,但依然停留在當前分支
git branch [branch-name]

# 新建一個分支,並切換到該分支
git checkout -b [branch]

# 合併指定分支到當前分支
git merge [branch]

# 刪除分支
git branch -d [branch-name]

# 刪除遠程分支
git push origin --delete [branch-name]

自定義配置

[user]
    name = yanyue404
    email = xiaoyueyue165@gmail.com
    signingkey = ""
[credential]
    helper = store
[http]
    postBuffer = 500M
    sslBackend = openssl
    maxRequestBuffer = 100M
[color]
    diff = auto
    status = auto
    branch = auto
    ui = true
[alias]
# 簡化命令
    br = branch
    ci = commit
    co = checkout
        st = status
        mg = merge
# 日誌
    lg = log --color --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
    lgh = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
    lgr = log --color --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --reverse
       last = log -10
# 回退
    back = checkout master
    unstage = reset HEAD
    rh = reset --hard HEAD
# pull
    pr = pull --rebase
    prs = pull --rebase --autostash
[format]
    pretty = %C(yellow)%h%Creset %s %C(red)(%an, %cr)%Creset
[help]
    autocorrect = 1
[core]
    compression = 0
    quotepath = true
[i18n]
    commitencoding = utf-8
    logoutputencoding = utf-8
[gui]
    encoding = utf-8
[merge "ours"]
    driver = true

參考

相關文章
相關標籤/搜索